:root{
  --bg:#080b11;--bg2:#0b0f17;--panel:#10151f;--panel-soft:#131a26;--panel-hover:#172031;
  --line:#242d3d;--line-soft:#1b2330;--text:#f7f8fc;--muted:#8d98aa;--muted2:#657084;
  --blue:#4f7cff;--purple:#8b5cf6;--cyan:#46c8ff;--green:#32d296;--yellow:#f4bd5e;--red:#f0646f;
  --shadow:0 20px 55px rgba(0,0,0,.24);--glow:0 0 32px rgba(116,90,255,.16);
}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}
body{display:flex;overflow:hidden;background:radial-gradient(circle at 86% -14%,rgba(92,76,255,.16),transparent 34%),linear-gradient(180deg,#090c12 0%,#080b11 100%)}
button,input,select,textarea{font:inherit}.sidebar{width:252px;background:linear-gradient(180deg,rgba(12,16,24,.98),rgba(9,12,18,.98));border-right:1px solid var(--line-soft);display:flex;flex-direction:column;padding:20px 14px 16px;box-shadow:18px 0 50px rgba(0,0,0,.14)}
.brand{display:flex;align-items:center;gap:12px;padding:2px 8px 24px}.brand-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(79,124,255,.14),rgba(139,92,246,.16));border:1px solid rgba(126,111,255,.24);box-shadow:var(--glow)}.brand img{width:36px;height:36px;object-fit:contain}.brand strong{display:block;font-size:17px;letter-spacing:-.2px}.brand span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
nav{display:flex;flex-direction:column;gap:18px;min-height:0;overflow:auto}.nav-group{display:grid;gap:5px}.nav-group>span{padding:0 11px 5px;color:#596477;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.nav-group.bottom{margin-top:auto}.nav{border:1px solid transparent;background:transparent;color:#a8b1c2;text-align:left;padding:10px 11px;border-radius:10px;cursor:pointer;display:flex;gap:11px;align-items:center;transition:.18s ease;font-size:13px;font-weight:600}.nav b{width:18px;text-align:center;font-size:14px;color:#707c91}.nav:hover{background:rgba(255,255,255,.035);color:#fff;transform:translateX(2px)}.nav.active{background:linear-gradient(90deg,rgba(79,124,255,.14),rgba(139,92,246,.10));color:#fff;border-color:rgba(113,111,255,.18);box-shadow:inset 2px 0 0 #6e76ff}.nav.active b{color:#a7b1ff}
.side-footer{margin-top:16px;border-top:1px solid var(--line-soft);padding:15px 9px 2px;display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:11px}.side-footer small{display:block;color:#566173;margin-top:3px}.dot{width:8px;height:8px;border-radius:50%;background:var(--red);margin-top:3px;box-shadow:0 0 0 4px rgba(240,100,111,.08)}.dot.ok{background:var(--green);box-shadow:0 0 13px rgba(50,210,150,.58)}main{flex:1;min-width:0;overflow:auto}header{height:96px;position:sticky;top:0;z-index:10;background:rgba(8,11,17,.82);backdrop-filter:blur(20px);border-bottom:1px solid rgba(36,45,61,.62);padding:17px 30px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#69758a;font-weight:800;margin-bottom:4px}h1{margin:0;font-size:26px;letter-spacing:-.65px}header p{margin:5px 0 0;color:var(--muted);font-size:12px}.header-actions{display:flex;gap:9px;align-items:center}.live-chip{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(50,210,150,.07);border:1px solid rgba(50,210,150,.16);color:#83e6bd;font-size:11px;font-weight:700}.live-chip i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(50,210,150,.7)}
.content{padding:28px 30px 64px;max-width:1540px;margin:auto}.loading{color:var(--muted);padding:42px}.btn{border:1px solid rgba(118,102,255,.18);border-radius:10px;background:linear-gradient(135deg,#5b78ff,#8659ee);color:#fff;padding:10px 15px;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(88,107,255,.14);transition:.18s ease}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.ghost{background:#121824;border:1px solid var(--line);box-shadow:none;color:#dce1ea}.btn.ghost:hover{background:#171f2d}.btn.danger{background:rgba(240,100,111,.10);border:1px solid rgba(240,100,111,.26);color:#ff9da4;box-shadow:none}.btn.small{padding:7px 10px;font-size:11px}.actions{display:flex;gap:7px;flex-wrap:wrap}
.grid{display:grid;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:linear-gradient(180deg,rgba(16,21,31,.98),rgba(13,18,27,.98));border:1px solid var(--line-soft);border-radius:16px;padding:18px;box-shadow:0 14px 38px rgba(0,0,0,.18);transition:border-color .18s ease,transform .18s ease,background .18s ease}.card:hover{border-color:#2d3950}.card h3{margin:0 0 8px;font-size:14px}.card p{color:var(--muted);font-size:12px;line-height:1.55}.metric-card{position:relative;overflow:hidden;min-height:128px}.metric-card:after{content:"";position:absolute;right:-28px;top:-34px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(105,92,255,.13),transparent 65%)}.metric{font-size:32px;font-weight:800;letter-spacing:-1.2px}.metric-label{color:var(--muted);font-size:11px;margin-top:5px}.metric-meta{color:#667185;font-size:10px;margin-top:14px}.section-title{display:flex;align-items:end;justify-content:space-between;margin:28px 0 12px}.section-title h2{margin:0;font-size:17px;letter-spacing:-.3px}.section-title p{margin:0;color:var(--muted2);font-size:11px}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;border:1px solid var(--line);background:#151b26;letter-spacing:.02em}.status.ok{color:#7fe5b8;border-color:rgba(50,210,150,.22);background:rgba(50,210,150,.07)}.status.warn{color:#ffd482;border-color:rgba(244,189,94,.22);background:rgba(244,189,94,.07)}.status.bad{color:#ff9ea6;border-color:rgba(240,100,111,.26);background:rgba(240,100,111,.08)}.status.info{color:#b9c4ff;border-color:rgba(79,124,255,.24);background:rgba(79,124,255,.08)}
.table{width:100%;border-collapse:separate;border-spacing:0 7px}.table th{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#657084;text-align:left;padding:0 10px 3px}.table td{background:#0f151e;padding:11px 10px;border-top:1px solid #1d2634;border-bottom:1px solid #1d2634;font-size:12px}.table tr:hover td{background:#121a26}.table td:first-child{border-left:1px solid #1d2634;border-radius:10px 0 0 10px}.table td:last-child{border-right:1px solid #1d2634;border-radius:0 10px 10px 0}.muted{color:var(--muted)}.money{font-weight:760}.mono{font-family:Consolas,monospace;font-size:11px}.empty{padding:30px;text-align:center;color:var(--muted2);border:1px dashed #273144;border-radius:14px;background:rgba(255,255,255,.01)}
.form{display:grid;gap:11px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.field{display:grid;gap:6px}.field label{font-size:10px;color:var(--muted);font-weight:800}.field input,.field select,.field textarea{width:100%;background:#0c1119;border:1px solid #273144;color:#fff;border-radius:10px;padding:10px 11px;outline:none}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#607cff;box-shadow:0 0 0 3px rgba(96,124,255,.08)}
.health-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #1a2230;font-size:12px}.health-row:last-child{border:0}.health-detail{color:var(--muted);font-size:11px;text-align:right;max-width:58%}.bot-card{display:flex;justify-content:space-between;align-items:center}.bot-name{display:flex;align-items:center;gap:10px}.bot-light{width:9px;height:9px;border-radius:50%;background:var(--red)}.bot-light.on{background:var(--green);box-shadow:0 0 14px rgba(50,210,150,.6)}
.hero{position:relative;overflow:hidden;padding:22px 22px 20px;background:linear-gradient(135deg,rgba(16,22,34,.98),rgba(15,19,30,.98));border-color:#283247}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 10%,rgba(96,89,255,.12),transparent 38%);pointer-events:none}.hero h3{font-size:18px;letter-spacing:-.3px}.hero p{max-width:720px}.hero-actions{margin-top:16px}.quick-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.quick{padding:12px;border-radius:11px;background:#0d131c;border:1px solid #1f2938}.quick strong{display:block;font-size:12px}.quick span{display:block;color:var(--muted2);font-size:10px;margin-top:3px}.attention-list{display:grid;gap:8px}.attention{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;margin:0;background:#0f151f}.attention p{margin:4px 0 0}.attention strong{font-size:12px}.client-card .client-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.client-card .client-name{font-size:14px;font-weight:750}.client-card .client-meta{color:var(--muted);font-size:11px;margin-top:4px}.client-products{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.client-stat{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px 0;border-top:1px solid #1b2431;font-size:11px}.client-stat span{color:var(--muted)}
.service-note{margin:14px 0 22px;padding:13px 15px;border:1px solid rgba(79,124,255,.18);background:linear-gradient(90deg,rgba(79,124,255,.06),rgba(139,92,246,.04));border-radius:12px;color:#abb7ca;font-size:11px;line-height:1.55}.service-group{margin-bottom:24px}.service-group>h3{font-size:9px;color:#687489;text-transform:uppercase;letter-spacing:.14em;margin:0 0 9px}.service-item{display:grid;grid-template-columns:minmax(260px,1.25fr) 130px minmax(220px,1fr) minmax(155px,.7fr);gap:14px;align-items:center;background:#0f151e;border:1px solid #1f2937;border-radius:12px;padding:13px;margin-bottom:7px;transition:.16s}.service-item:hover{background:#111924;border-color:#2b374b}.service-item strong{font-size:12px}.service-item small{display:block;color:var(--muted);margin-top:4px;line-height:1.45}.service-next{font-size:11px;color:#abb5c6}.plugin{font-size:10px;color:#707c90;line-height:1.55}.service-actions{margin-top:9px}.server-bots{margin-top:10px}.checkline{display:flex;align-items:center;gap:9px;color:#c9d0df;font-size:12px}.checkline input{width:auto}.form-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr))}.form-checkboxes .btn{grid-column:1/-1;justify-self:start}
.modal-wrap{position:fixed;inset:0;z-index:100;background:rgba(2,4,8,.72);backdrop-filter:blur(10px);display:grid;place-items:center;padding:24px}.modal-card{width:min(560px,92vw);max-height:85vh;overflow:auto;background:#101620;border:1px solid #2b3548;border-radius:18px;padding:20px;box-shadow:0 28px 90px rgba(0,0,0,.58)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h3{margin:0;font-size:15px}.modal-x{border:0;background:transparent;color:#7f8a9d;font-size:25px;cursor:pointer}.modal-actions{justify-content:flex-end;margin-top:8px}.toast{position:fixed;right:24px;bottom:24px;z-index:50;background:#141b27;border:1px solid #303b50;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{border-color:rgba(240,100,111,.48);color:#ffb0b6}@media(max-width:1250px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}.service-item{grid-template-columns:1fr 130px}.service-next,.plugin{grid-column:1/-1}.sidebar{width:224px}.content{padding-left:24px;padding-right:24px}}
@media(max-width:980px){.grid.cols-2,.grid.cols-3,.grid.cols-4,.quick-strip{grid-template-columns:1fr}.sidebar{width:86px;padding:16px 10px}.brand{justify-content:center;padding:2px 0 22px}.brand>div:last-child,.nav span,.nav-group>span,.side-footer>div:last-child{display:none}.nav{justify-content:center;padding:11px}.nav b{width:auto}.side-footer{justify-content:center}.content{padding:22px 18px 50px}header{padding:16px 18px}.live-chip{display:none}.form-row,.form-checkboxes{grid-template-columns:1fr}}
@media(max-width:700px){header{height:auto;align-items:flex-start;gap:12px;flex-direction:column}.header-actions{width:100%}.header-actions .btn{flex:1}.metric-card{min-height:110px}.service-item{grid-template-columns:1fr}.table{display:block;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.quick-link{text-align:left;color:var(--text);cursor:pointer}.quick-link:hover{transform:translateY(-2px);border-color:#35435d;background:linear-gradient(180deg,#121925,#101721)}.quick-link h3{margin-bottom:5px}.quick-link p{margin:0}

/* RPSystems branding + klantzoek UX */
.brand-mark{overflow:hidden;background:linear-gradient(145deg,#111827,#090b12);border-color:rgba(112,94,255,.30)}
.brand-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 10px rgba(103,78,255,.28))}
.brand-hero,.branded-card,.quick-link{position:relative;overflow:hidden}
.brand-hero::after,.quick-link::after{content:"";position:absolute;right:-18px;top:50%;width:150px;height:150px;transform:translateY(-50%);background:url('../assets/rpsystems-app-icon.png') center/contain no-repeat;opacity:.055;pointer-events:none}
.client-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:22px 0 18px}.search-box{flex:1;max-width:720px;display:flex;align-items:center;gap:10px;background:#0c1018;border:1px solid #252d3d;border-radius:13px;padding:0 14px;transition:.18s}.search-box:focus-within{border-color:#6574ff;box-shadow:0 0 0 3px rgba(101,116,255,.09)}.search-box>span{font-size:21px;color:#78839a}.client-search{width:100%;height:46px;border:0!important;background:transparent!important;color:#fff;outline:0;box-shadow:none!important}.client-search::placeholder{color:#667087}.client-count{display:flex;gap:7px;align-items:baseline;color:var(--muted);font-size:12px}.client-count strong{font-size:20px;color:#fff}
.client-card{min-height:250px;padding:20px 20px 16px}.client-logo{position:absolute;right:8px;top:8px;width:94px;height:94px;opacity:.07;pointer-events:none}.client-logo img{width:100%;height:100%;object-fit:contain}.client-field{position:relative;z-index:1;padding:12px 0;border-bottom:1px solid rgba(42,50,67,.72)}.client-field:last-of-type{border-bottom:0}.client-field>span{display:block;color:#7f899e;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}.client-field>strong{font-size:15px;line-height:1.35}.client-products{display:flex;gap:6px;flex-wrap:wrap}.client-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;color:#818ba0;font-size:11px}.client-grid [hidden]{display:none!important}
@media(max-width:820px){.client-toolbar{align-items:stretch;flex-direction:column}.search-box{max-width:none}.client-count{justify-content:flex-end}}

/* Subtiele RPSystems-signatuur in overzichtskaarten */
.hero::after{content:"";position:absolute;right:18px;bottom:-24px;width:360px;height:150px;background:url('../assets/rpsystems-horizontal.png') center/contain no-repeat;opacity:.055;pointer-events:none;filter:drop-shadow(0 0 20px rgba(99,77,255,.16))}
.hero>*{position:relative;z-index:1}
.dashboard-brand-art{position:absolute!important;right:28px;top:18px;width:112px;height:104px;object-fit:cover;border-radius:14px;opacity:.12;pointer-events:none;z-index:0!important;box-shadow:0 0 34px rgba(91,78,255,.10)}
.dashboard-hero>.actions,.dashboard-hero>.quick-strip{position:relative;z-index:2}
@media(max-width:980px){.dashboard-brand-art{width:88px;height:82px;opacity:.08}.hero::after{width:250px;height:110px}}

/* Definitieve RPSystems UX pass */
.sidebar{overflow:hidden}.sidebar nav{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#273349 transparent;padding-right:2px}.sidebar nav::-webkit-scrollbar{width:6px;height:0}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{background:#263247;border-radius:999px}.nav{width:100%;min-width:0}.nav:hover{transform:none;background:linear-gradient(90deg,rgba(79,124,255,.08),rgba(139,92,246,.05))}.side-footer{flex:0 0 auto;overflow:hidden}
header{overflow:hidden}header::after{content:"";position:absolute;right:245px;top:15px;width:255px;height:66px;background:url('../assets/rpsystems-horizontal.png') center/contain no-repeat;opacity:.065;pointer-events:none;filter:drop-shadow(0 0 24px rgba(82,101,255,.18))}header>*{position:relative;z-index:1}
.client-list{display:grid;gap:18px}.customer-panel{padding:22px;min-height:0}.customer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:16px;border-bottom:1px solid #202a39}.customer-head h3{font-size:20px;margin:3px 0 4px}.customer-head p{margin:0}.customer-kicker{font-size:9px;color:#717d92;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.customer-summary{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:16px;padding:14px 0}.customer-summary>div{padding:13px 14px;border:1px solid #202a38;border-radius:12px;background:#0d131c}.customer-summary>div>span{display:block;color:#778398;font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;margin-bottom:7px}.customer-summary>div>strong{font-size:22px}.customer-servers{display:grid;gap:10px}.subhead{display:flex;justify-content:space-between;align-items:center;color:#758197;font-size:11px;padding:3px 2px}.subhead strong{color:#dce3f0;font-size:12px}.customer-server{background:linear-gradient(180deg,#0e141e,#0b1119);border:1px solid #202a39;border-radius:14px;padding:15px}.server-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.server-head strong{display:block;font-size:13px}.server-head .mono{display:block;color:#66738a;margin-top:4px}.server-bot-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #1a2330}.server-bot-row:last-child{border-bottom:0}.server-bot-row small{display:block;color:#778398;margin-top:3px}.server-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;color:#7f8a9d;font-size:10px}.empty.compact{padding:15px}
.invite-grid{align-items:stretch}.invite-card{position:relative;overflow:hidden;min-height:250px;display:flex;flex-direction:column}.invite-card::after{content:"";position:absolute;right:-25px;bottom:-30px;width:160px;height:160px;background:url('../assets/rpsystems-app-icon.png') center/contain no-repeat;opacity:.035;pointer-events:none}.invite-logo{width:58px;height:58px;object-fit:contain;border-radius:15px;margin-bottom:16px;box-shadow:0 0 30px rgba(99,79,255,.14)}.invite-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.invite-card p{min-height:52px;position:relative;z-index:1}.invite-card .btn{margin-top:auto;position:relative;z-index:1}.deployment-rule{margin-top:16px;background:linear-gradient(90deg,rgba(79,124,255,.055),rgba(139,92,246,.035))}
.brand{position:relative}.brand::after{content:"";position:absolute;left:8px;right:8px;bottom:10px;height:1px;background:linear-gradient(90deg,transparent,rgba(104,91,255,.28),transparent)}.brand-mark{width:48px;height:48px;border-radius:15px}.brand-mark img{width:100%;height:100%}.brand strong{font-size:18px}.brand span{letter-spacing:.04em}.dashboard-brand-art{width:122px;height:122px;border-radius:18px;opacity:.16}.card{backdrop-filter:blur(4px)}
@media(max-width:1100px){header::after{display:none}.customer-summary{grid-template-columns:1fr}.server-bot-row{grid-template-columns:1fr auto}.server-bot-row .btn{grid-column:1/-1;justify-self:start}}

/* Customer Operations */
.workflow-grid{align-items:stretch}.workflow-step{min-height:150px;padding-top:20px}.step-number{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:10px;background:linear-gradient(135deg,rgba(91,120,255,.22),rgba(139,92,246,.24));border:1px solid rgba(117,101,255,.28);color:#d9dcff;font-weight:900;font-size:12px;box-shadow:0 0 20px rgba(116,90,255,.10)}
.numbered-guide,.guide-card,.diagnosis-card{display:grid;gap:12px}.guide-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #1b2431}.guide-row:last-child{border-bottom:0}.guide-row>span:not(.step-number){color:#7f8ba0;font-size:11px;font-weight:800;padding-top:3px}.guide-row p{margin:0}.guide-customer{padding:13px 14px;border-radius:12px;border:1px solid rgba(139,92,246,.20);background:linear-gradient(135deg,rgba(79,124,255,.055),rgba(139,92,246,.055))}.guide-customer p{margin:7px 0 0}.guide-card>.btn{justify-self:start}
.diagnosis-list{display:grid;gap:9px;margin:4px 0}.diagnosis-issue{padding:13px 14px;border:1px solid #242f40;border-radius:12px;background:#0d141e}.diagnosis-issue strong{display:block;margin-top:9px;font-size:12px}.diagnosis-issue p{margin:5px 0 7px}.diagnosis-issue small{color:#9ba7ba;line-height:1.5}.diagnosis-card>.muted{display:block;margin-top:2px}
@media(max-width:980px){.workflow-grid{grid-template-columns:1fr}.guide-row{grid-template-columns:30px 1fr}}

/* Consistente kaart-/bovenranden */
.card,.hero{border-color:var(--line-soft)}
.card{overflow:hidden}
.card:hover{border-color:#2d3950}
.hero:hover{border-color:#2d3950}

/* RPSystems frame-polish: dezelfde rand rondom iedere kaart, ook aan de bovenzijde. */
.card,.hero,.customer-server,.service-item,.diagnosis-issue,.guide-customer,.quick,.customer-summary>div{
  border-top-color:var(--line-soft);
  border-right-color:var(--line-soft);
  border-bottom-color:var(--line-soft);
  border-left-color:var(--line-soft);
}
.card,.hero{background-clip:padding-box;}

/* Botkaarten blijven leesbaar bij langere productomschrijvingen. */
.bot-card{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:11px;}
.bot-card>.bot-name{width:100%;}
.bot-card>p{margin:0;min-height:0;max-width:none;}
.bot-card>.actions{margin-top:2px;align-items:center;}

.known-solutions{display:grid;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--line-soft)}
.known-solution{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;background:rgba(148,91,255,.045)}
.known-solution>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.known-solution>p,.known-solution>small{margin:0;color:var(--muted)}

/* RPSystems Secure Access */
body.login-mode{display:block;overflow:hidden;background:#070910}
body.login-mode .sidebar,body.login-mode header{display:none}
body.login-mode main{width:100%;height:100vh;overflow:auto}
body.login-mode .content{max-width:none;min-height:100vh;padding:34px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 20% 18%,rgba(111,76,255,.17),transparent 32%),radial-gradient(circle at 82% 75%,rgba(244,189,94,.08),transparent 26%),linear-gradient(145deg,#070910 0%,#0a0d15 42%,#080b12 100%)}
.login-shell{width:min(560px,94vw);position:relative;z-index:1;display:grid;gap:16px;place-items:center}
.login-shell:before{content:"";position:fixed;inset:0;background:url('../assets/rpsystems-social.png') center/cover no-repeat;opacity:.045;filter:saturate(.8) contrast(1.08);pointer-events:none}
.login-ambient{position:absolute;border-radius:999px;filter:blur(55px);pointer-events:none}
.login-ambient-a{width:260px;height:260px;left:-120px;top:80px;background:rgba(112,73,255,.16)}
.login-ambient-b{width:220px;height:220px;right:-120px;bottom:40px;background:rgba(244,189,94,.07)}
.login-card{width:100%;position:relative;padding:34px 36px 30px;border-radius:24px;background:linear-gradient(160deg,rgba(18,23,34,.96),rgba(9,13,21,.98));border:1px solid rgba(122,101,255,.32);box-shadow:0 36px 100px rgba(0,0,0,.62),0 0 45px rgba(113,77,255,.10);overflow:hidden}
.login-card:before{content:"";position:absolute;inset:0;border-radius:24px;border:1px solid rgba(244,189,94,.12);pointer-events:none}
.login-card:after{content:"";position:absolute;right:-80px;top:-70px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(122,85,255,.13),transparent 67%);pointer-events:none}
.login-brand{display:grid;place-items:center;position:relative;z-index:1}
.login-mark{width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 0 24px rgba(103,78,255,.38))}
.login-wordmark{width:min(320px,82%);height:74px;object-fit:contain;margin-top:2px;filter:drop-shadow(0 0 18px rgba(90,83,255,.16))}
.login-brand span{margin-top:-8px;color:#8c96aa;font-size:10px;font-weight:800;letter-spacing:.34em}
.login-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;margin:24px 0 16px}
.login-divider i{height:1px;background:linear-gradient(90deg,transparent,rgba(244,189,94,.55))}
.login-divider i:last-child{background:linear-gradient(90deg,rgba(244,189,94,.55),transparent)}
.login-divider b{font-size:9px;letter-spacing:.22em;color:#c7cce0}
.login-copy{text-align:center;margin-bottom:20px}
.login-copy h2{margin:0 0 7px;font-size:22px;letter-spacing:-.35px}
.login-copy p{margin:0;color:var(--muted);font-size:12px}
.login-form{gap:14px}
.login-form .field label{letter-spacing:.08em}
.login-form .field input{height:48px;border-radius:12px;background:rgba(8,12,20,.9);border-color:#2a3345;padding:0 14px}
.login-form .field input:focus{border-color:#795fff;box-shadow:0 0 0 3px rgba(121,95,255,.10),0 0 28px rgba(121,95,255,.08)}
.login-button{height:50px;margin-top:4px;display:flex;align-items:center;justify-content:center;position:relative;border-color:rgba(155,116,255,.5);background:linear-gradient(105deg,#5c50dc,#8f4ff3 55%,#6846cc);box-shadow:0 16px 34px rgba(104,70,220,.22),inset 0 1px 0 rgba(255,255,255,.14)}
.login-button strong{position:absolute;right:17px;font-size:20px;font-weight:400}
.login-button:hover{box-shadow:0 19px 38px rgba(104,70,220,.30),0 0 22px rgba(128,83,255,.14)}
.login-security{margin-top:24px;padding-top:18px;border-top:1px solid rgba(42,51,69,.74);display:flex;align-items:center;justify-content:center;gap:11px;text-align:left}
.login-shield{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#f4bd5e;border:1px solid rgba(244,189,94,.24);background:rgba(244,189,94,.05);font-size:17px}
.login-security strong{display:block;font-size:11px}
.login-security small{display:block;color:#6f7a8e;margin-top:3px;font-size:10px}
.login-foot{position:relative;z-index:1;color:#596478;font-size:10px;letter-spacing:.07em}
@media(max-width:620px){body.login-mode .content{padding:18px}.login-card{padding:28px 22px 24px}.login-mark{width:78px;height:78px}.login-wordmark{width:260px;height:62px}}

/* Android / PWA */
.install-app-btn[hidden]{display:none!important}
@media(max-width:760px){
  html,body{min-height:100%;height:auto}
  body{display:block;overflow:hidden}
  .sidebar{
    position:fixed;left:0;right:0;bottom:0;top:auto;z-index:40;
    width:100%;height:calc(78px + env(safe-area-inset-bottom));
    padding:7px 8px calc(7px + env(safe-area-inset-bottom));
    border-right:0;border-top:1px solid var(--line-soft);
    background:rgba(9,12,18,.96);backdrop-filter:blur(20px);
    box-shadow:0 -14px 38px rgba(0,0,0,.30)
  }
  .sidebar .brand,.sidebar .side-footer{display:none}
  .sidebar nav{
    width:100%;height:100%;display:flex;flex-direction:row;gap:5px;
    overflow-x:auto;overflow-y:hidden;padding:0;scrollbar-width:none
  }
  .sidebar nav::-webkit-scrollbar{display:none}
  .nav-group{display:contents}
  .nav-group>span{display:none!important}
  .nav{
    flex:0 0 70px;min-width:70px;height:61px;padding:7px 5px;
    display:flex;flex-direction:column;justify-content:center;gap:4px;
    text-align:center;border-radius:12px;font-size:9px;line-height:1.05
  }
  .nav b{width:auto;font-size:15px;line-height:1}
  .nav span{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64px}
  .nav.active{box-shadow:inset 0 2px 0 #6e76ff}
  main{width:100%;height:100dvh;overflow:auto;padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  header{
    position:sticky;top:0;height:auto;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;
    align-items:flex-start;gap:10px;flex-direction:column
  }
  h1{font-size:21px}
  header p{font-size:11px;max-width:92vw}
  .header-actions{width:100%;display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .header-actions::-webkit-scrollbar{display:none}
  .header-actions .btn{flex:0 0 auto;padding:8px 10px;font-size:10px}
  .live-chip{display:flex;flex:0 0 auto;padding:7px 9px;font-size:10px}
  .content{padding:16px 12px 30px}
  .card{border-radius:14px;padding:15px}
  .section-title{margin:21px 0 10px;align-items:flex-start;gap:8px}
  .section-title h2{font-size:15px}
  .section-title p{font-size:10px;text-align:right}
  .grid.cols-2,.grid.cols-3,.grid.cols-4,.quick-strip{grid-template-columns:1fr}
  .form-row,.form-checkboxes{grid-template-columns:1fr}
  .service-item{grid-template-columns:1fr}
  .service-next,.plugin{grid-column:auto}
  .customer-head,.server-head,.client-card-footer{flex-direction:column;align-items:flex-start}
  .customer-summary{grid-template-columns:1fr}
  .server-bot-row{grid-template-columns:1fr}
  .server-bot-row .btn{grid-column:auto}
  .table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .modal-wrap{padding:12px}
  .modal-card{width:100%;max-height:88dvh}
  .toast{left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom));text-align:center}
  .dashboard-brand-art{width:72px;height:72px;right:12px}
}
@media(display-mode:standalone){
  body{overscroll-behavior:none}
  header{padding-top:calc(12px + env(safe-area-inset-top))}
}
