
  :root { --forest:#1A0A2E;--moss:#2d1a5e;--sage:#3D1A6B;--mint:#5B2D9A;--sand:#E8E0F5;--gold:#C9A84C;--text:#1A0A2E;--light:#F8F6FF;--pu:#3D1A6B;--pu-l:#5a2a9e;--pu-pale:#f3eeff;--gold-l:#f5e6b8; }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{font-family:'IBM Plex Sans',sans-serif;background:var(--light);color:var(--text);min-height:100vh;overflow-x:hidden;}

  /* ARES result box */
  .ar{background:#150830;border:1.5px solid rgba(139,47,201,0.3);border-radius:12px;padding:20px;margin-bottom:18px;display:none;}
  .ar.show{display:block;animation:fadeIn .3s ease;}
  .ar.err{background:#fdf0f0;border-color:rgba(180,50,50,0.2);}
  @keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
  .ar-name{font-family:'DM Serif Display',serif;font-size:17px;font-weight:700;color:var(--gold);margin-bottom:3px;}
  .ar-meta{font-size:11px;color:#a07cc5;margin-bottom:12px;letter-spacing:.5px;}
  .ar-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
  .ar-field{background:#1A0A2E;border-radius:8px;padding:9px 12px;border:1px solid rgba(139,47,201,0.2);}
  .ar-fl{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7a5a9e;margin-bottom:2px;}
  .ar-fv{font-size:12px;font-weight:500;color:#E8E0F5;line-height:1.4;}
  .ar-cinnosti{background:#1A0A2E;border-radius:8px;padding:12px;border:1px solid rgba(139,47,201,0.2);margin-bottom:10px;}
  .ar-cl{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7a5a9e;margin-bottom:8px;}
  .cin{font-size:12px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,0.08);display:flex;gap:6px;line-height:1.4;color:#FFFFFF;}
  .cin:last-child{border-bottom:none;}
  .cin::before{content:'›';color:var(--gold);font-weight:700;flex-shrink:0;}
  .esg-tip{background:linear-gradient(135deg,#1a0a3e,#2d1a5e);border-radius:8px;padding:10px 12px;font-size:12px;color:var(--gold);display:flex;gap:8px;line-height:1.5;margin-bottom:10px;}
  .src-badge{display:inline-flex;align-items:center;gap:4px;background:#2d1a5e;border-radius:5px;padding:2px 7px;font-size:10px;color:var(--gold);font-weight:500;}



  /* SIDEBAR */
  .sidebar{position:fixed;left:0;top:0;width:260px;height:100vh;background:#3D1A6B;display:none;flex-direction:column;z-index:100;overflow:hidden;}
  .sidebar::before{content:'';position:absolute;top:-80px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(139,47,201,0.4) 0%,transparent 70%);pointer-events:none;}
  .logo-area{padding:20px 28px;border-bottom:1px solid rgba(255,255,255,0.08);}
  .logo-mark{font-family:'DM Serif Display',serif;font-size:18px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:3px;}
  .logo-sub{font-size:10px;color:rgba(255,255,255,0.35);letter-spacing:1px;}
  .co-badge{margin:18px 28px;padding:12px 14px;background:rgba(255,255,255,0.06);border-radius:10px;border:1px solid rgba(255,255,255,0.08);cursor:pointer;transition:all .2s;}
  .co-badge:hover{background:rgba(255,255,255,0.1);}
  .co-name{font-size:13px;font-weight:600;color:#fff;margin-bottom:2px;}
  .co-type{font-size:11px;color:rgba(255,255,255,0.4);}
  .co-hint{font-size:10px;color:rgba(255,255,255,0.2);margin-top:4px;}
  nav{flex:1;padding:8px 16px;overflow-y:auto;}
  .nl{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.25);padding:14px 12px 7px;}
  .ni{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:2px;font-size:14px;color:rgba(255,255,255,0.55);position:relative;}
  .ni:hover{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.85);}
  .ni.active{background:rgba(139,47,201,0.18);color:var(--gold);font-weight:500;}
  .ni.active::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--gold);border-radius:0 2px 2px 0;}
  .ni-icon{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .lucide{stroke-width:1.5;}
  .ni-icon svg{width:18px;height:18px;}
  .si svg{width:24px;height:24px;display:block;margin:0 auto 10px;}
  .fsi svg{width:22px;height:22px;}
  .btn svg,.ct svg,.pn svg,.srl svg,.rst svg,.ss2t svg,.co-hint svg,.ch svg{vertical-align:middle;display:inline-block;margin-right:4px;}
  .nb{margin-left:auto;background:var(--gold);color:var(--forest);font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;}
  .sw{margin:14px;padding:16px;background:linear-gradient(135deg,#2d1a5e,#3D1A6B);border-radius:12px;}
  .sw-label{font-size:10px;color:rgba(255,255,255,0.6);margin-bottom:6px;letter-spacing:1px;text-transform:uppercase;}
  .sw-val{font-family:'DM Serif Display',serif;font-size:34px;color:#fff;font-weight:700;line-height:1;}
  .sw-max{font-size:13px;color:rgba(255,255,255,0.5);}
  .sw-bg{background:rgba(0,0,0,0.2);height:4px;border-radius:2px;margin-top:10px;}
  .sw-bar{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--gold),#e8c97a);transition:width 1s ease;}

  /* MAIN */
  .main{margin-left:260px;min-height:100vh;display:none;flex-direction:column;}
  .topbar{background:#3D1A6B;border-bottom:1px solid rgba(255,255,255,0.12);padding:0 40px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
  .pt{font-family:'DM Serif Display',serif;font-size:20px;font-weight:700;color:var(--gold);}
  .ta{display:flex;gap:12px;align-items:center;}
  .btn{padding:9px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .2s;font-family:'IBM Plex Sans',sans-serif;}
  .btn-p{background:var(--sage);color:#fff;}
  .btn-p:hover{background:var(--mint);transform:translateY(-1px);}
  .btn-o{background:transparent;border:1.5px solid #C5B8E0;color:var(--text);}
  .btn-o:hover{border-color:var(--gold);color:var(--gold);}
  .btn-o-inv{color:#fff;border-color:rgba(255,255,255,0.3);}
  .btn-o-inv:hover{border-color:var(--gold);color:var(--gold);}
  .btn-export{color:#FFFFFF;border:1.5px solid #FFFFFF;transition:color .2s ease,border-color .2s ease;}
  .btn-export:hover{color:#C9A84C;border-color:#C9A84C;}
  .btn-g{background:var(--gold);color:var(--forest);font-weight:600;}
  .btn-g:hover{background:#b8923e;}
  .content{padding:36px 40px;flex:1;}

  /* VIEWS */
  .view{display:none;}
  .view.active{display:block;}

  /* DASHBOARD */
  .banner{background:linear-gradient(135deg,#3D1A6B 0%,#2d1a5e 60%,#1A0A2E 100%);border-radius:16px;padding:34px 38px;color:#fff;margin-bottom:28px;position:relative;overflow:hidden;}
  .banner::after{content:'⬡';position:absolute;right:40px;top:50%;transform:translateY(-50%);font-size:130px;opacity:.05;line-height:1;}
  .banner h2{font-family:'DM Serif Display',serif;font-size:24px;font-weight:700;margin-bottom:7px;}
  .banner p{color:rgba(255,255,255,0.7);font-size:13px;max-width:500px;line-height:1.6;}
  .ba{margin-top:18px;display:flex;gap:10px;}
  .sg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;}
  .sc{background:#FFFFFF;border-radius:12px;padding:20px;border:1px solid #E8E0F5;box-shadow:0 2px 8px rgba(61,26,107,0.08);transition:all .2s;}
  .sc:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.08);}
  .si{font-size:20px;margin-bottom:10px;}
  .sv{font-family:'DM Serif Display',serif;font-size:26px;font-weight:700;color:var(--text);line-height:1;margin-bottom:3px;}
  .sl{font-size:12px;color:#6B5B8A;}
  .sc-ch{font-size:11px;margin-top:7px;}
  .sc-ch.up{color:var(--gold);}
  .sc-ch.warn{color:var(--gold);}
  .tc{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;}
  .card{background:#FFFFFF;border-radius:12px;border:1px solid #E8E0F5;overflow:hidden;}
  .ch{padding:18px 22px 14px;border-bottom:1px solid #E8E0F5;display:flex;align-items:center;justify-content:space-between;}
  .ct{font-size:14px;font-weight:600;color:var(--text);}
  .cb{padding:18px 22px;}
  .pr{margin-bottom:16px;}
  .ph{display:flex;justify-content:space-between;margin-bottom:7px;}
  .pn{font-size:13px;font-weight:500;}
  .pp{font-size:13px;font-weight:600;color:var(--gold);}
  .pb{height:8px;background:#F0E8FF;border-radius:4px;overflow:hidden;}
  .pf{height:100%;border-radius:4px;transition:width 1s ease;}
  .fe{background:linear-gradient(90deg,#C9A84C,#e8c97a);}
  .fs{background:linear-gradient(90deg,#8B2FC9,#b06de8);}
  .fg{background:linear-gradient(90deg,var(--gold),#e8c97a);}
  .ti{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #E8E0F5;}
  .ti:last-child{border-bottom:none;}
  .tck{width:18px;height:18px;border-radius:50%;border:2px solid #ddd;flex-shrink:0;margin-top:1px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:10px;}
  .tck.done{background:var(--gold);border-color:var(--gold);color:#fff;}
  .tt{font-size:13px;line-height:1.4;}
  .tt.done{text-decoration:line-through;color:#9B8AB8;}
  .ttg{margin-left:auto;font-size:10px;padding:3px 7px;border-radius:4px;font-weight:500;white-space:nowrap;}
  .te{background:#F0E8FF;color:#3D1A6B;}
  .ts{background:#F0E8FF;color:#6B5B8A;}
  .tg{background:#FFF8E8;color:#8a6920;}

  /* FORMS */
  .fsh{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
  .fsi{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
  .ie{background:#F0E8FF;}
  .is{background:#E8F0F8;}
  .ig{background:#FFF0E8;}
  .fst{font-family:'DM Serif Display',serif;font-size:21px;font-weight:700;color:var(--gold);}
  .fsd{font-size:13px;color:#a07cc5;margin-top:3px;line-height:1.5;}
  .fg2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .fg2 .full{grid-column:1/-1;}
  .fg2 .grp{margin-bottom:18px;}
  label{display:block;font-size:11px;font-weight:600;color:var(--text);margin-bottom:5px;letter-spacing:.5px;text-transform:uppercase;}
  input,select,textarea{width:100%;padding:10px 13px;border:1.5px solid #C5B8E0;border-radius:8px;font-size:14px;font-family:'IBM Plex Sans',sans-serif;color:var(--text);background:#FFFFFF;transition:all .2s;outline:none;}
  input:focus,select:focus,textarea:focus{border-color:var(--sage);background:#FFFFFF;box-shadow:0 0 0 3px rgba(61,26,107,0.12);}
  textarea{resize:vertical;min-height:80px;}
  .fh{font-size:11px;color:#6B5B8A;margin-top:4px;line-height:1.4;}
  .cr{background:linear-gradient(135deg,#F0E8FF,#E4D8F8);border:1.5px solid #C5B8E0;border-radius:10px;padding:14px 18px;margin-top:18px;display:flex;align-items:center;gap:14px;}
  .ci{font-size:26px;}
  .cl{font-size:11px;color:#6B5B8A;margin-bottom:3px;}
  .cv{font-family:'DM Serif Display',serif;font-size:22px;font-weight:700;color:var(--gold);}

  /* REPORT */
  .rp{background:#FFFFFF;border-radius:16px;border:1px solid #E8E0F5;overflow:hidden;max-width:760px;margin:0 auto;}
  .rh{background:linear-gradient(135deg,#3D1A6B,#5B2D9A);padding:44px;color:#fff;}
  .rc{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:10px;}
  .rt{font-family:'DM Serif Display',serif;font-size:30px;font-weight:900;margin-bottom:7px;}
  .ry{font-size:13px;color:rgba(255,255,255,0.6);}
  .rb{padding:36px 44px;}
  .rs{margin-bottom:32px;}
  .rst{font-family:'DM Serif Display',serif;font-size:17px;font-weight:700;color:var(--gold);border-bottom:2px solid var(--sand);padding-bottom:9px;margin-bottom:18px;}
  .rmg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .rm{background:#F8F6FF;border-radius:10px;padding:16px;text-align:center;border:1px solid #E8E0F5;}
  .rmv{font-family:'DM Serif Display',serif;font-size:22px;font-weight:700;color:var(--text);}
  .rmu{font-size:10px;color:#6B5B8A;margin-top:2px;}
  .rml{font-size:11px;color:#6B5B8A;margin-top:5px;}
  .ss{display:flex;gap:18px;background:linear-gradient(135deg,#1A0A2E,#2d1a5e);border-radius:12px;padding:24px;color:#fff;margin-bottom:28px;}
  .sb{text-align:center;padding-right:22px;border-right:1px solid rgba(255,255,255,0.15);}
  .sbv{font-family:'DM Serif Display',serif;font-size:48px;font-weight:900;color:var(--mint);line-height:1;}
  .sbl{font-size:11px;color:rgba(255,255,255,0.5);margin-top:5px;}
  .sbd{flex:1;display:flex;flex-direction:column;justify-content:center;gap:9px;padding-left:22px;}
  .sr{display:flex;align-items:center;gap:10px;}
  .srl{font-size:12px;color:rgba(255,255,255,0.7);width:95px;}
  .srb{flex:1;height:5px;background:rgba(255,255,255,0.1);border-radius:3px;overflow:hidden;}
  .srf{height:100%;border-radius:3px;}
  .srp{font-size:12px;font-weight:600;width:32px;text-align:right;}

  /* SETTINGS */
  .ss2{margin-bottom:32px;}
  .ss2t{font-family:'DM Serif Display',serif;font-size:18px;font-weight:700;color:var(--gold);margin-bottom:18px;}
  .pc{border:2px solid #E8E0F5;border-radius:14px;padding:26px;cursor:pointer;transition:all .2s;position:relative;}
  .pc:hover{border-color:var(--mint);}
  .pc.active{border-color:var(--gold);background:#F0E8FF;}
  .pb2{position:absolute;top:-10px;right:18px;background:var(--gold);color:var(--forest);font-size:11px;font-weight:700;padding:2px 9px;border-radius:10px;}
  .pn2{font-size:15px;font-weight:700;color:var(--text);margin-bottom:5px;}
  .pp2{font-family:'DM Serif Display',serif;font-size:26px;font-weight:700;color:var(--text);}
  .ppe{font-size:12px;color:#a07cc5;}
  .pf2{margin-top:14px;display:flex;flex-direction:column;gap:7px;}
  .pf2 div{font-size:13px;color:#6B5B8A;display:flex;gap:7px;}
  .pf2 div::before{content:'✓';color:var(--gold);font-weight:700;}

  /* SAVE BAR */
  .save-bar{background:#FFFFFF;border-top:1px solid #E8E0F5;padding:14px 40px;display:flex;align-items:center;justify-content:space-between;position:sticky;bottom:0;}
  .sh{font-size:13px;color:#6B5B8A;}
  .sa{display:flex;gap:10px;}

  /* TOAST */
  .toast{position:fixed;bottom:28px;right:28px;background:var(--sage);color:#fff;padding:13px 18px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:0 8px 28px rgba(0,0,0,0.2);transform:translateY(100px);opacity:0;transition:all .3s cubic-bezier(0.34,1.56,0.64,1);z-index:50000;}
  .toast.show{transform:translateY(0);opacity:1;}

  .chip{display:inline-block;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:600;}
  .cg{background:#F0E8FF;color:#3D1A6B;}
  .cy{background:#fdf5e0;color:#8a6920;}
  .cr2{background:#fde8e8;color:#8a2020;}

  /* DOTAZNÍK */
  .q-progress-wrap { background:#FFFFFF; border-radius:12px; padding:20px 28px; margin-bottom:24px; border:1px solid #E8E0F5; box-shadow:0 2px 8px rgba(61,26,107,0.08); }
  .q-progress-label { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
  .q-progress-title { font-family:'DM Serif Display',serif; font-size:16px; color:var(--pu); }
  .q-progress-pct { font-size:13px; font-weight:600; color:var(--pu); }
  .q-prog-bg { height:8px; background:#ede8f7; border-radius:4px; overflow:hidden; }
  .q-prog-bar { height:100%; border-radius:4px; background:linear-gradient(90deg,var(--pu),var(--pu-l)); transition:width .5s ease; }
  .q-section-tabs { display:flex; gap:10px; margin-bottom:28px; }
  .q-tab { flex:1; padding:14px; border-radius:12px; border:2px solid #E8E0F5; background:#FFFFFF; cursor:pointer; text-align:center; transition:all .2s; }
  .q-tab.active { border-color:var(--pu); background:var(--pu-pale); }
  .q-tab.done { border-color:#C9A84C; background:#FFF8E8; }
  .q-tab-letter { font-family:'DM Serif Display',serif; font-size:22px; font-weight:700; color:var(--pu); line-height:1; }
  .q-tab.done .q-tab-letter { color:var(--gold); }
  .q-tab-name { font-size:11px; color:#6B5B8A; margin-top:3px; }
  .q-tab-score { font-size:11px; font-weight:600; color:var(--pu); margin-top:2px; }
  .q-tab.done .q-tab-score { color:var(--gold); }
  .q-section { display:none; }
  .q-section.active { display:block; }
  .q-section-header { display:flex; align-items:center; gap:14px; margin-bottom:24px; padding:20px 24px; border-radius:14px; }
  .q-sec-e { background:linear-gradient(135deg,#E8F5EB,#D4EDD9); border:1px solid rgba(45,120,61,.2); }
  .q-sec-s { background:linear-gradient(135deg,#EDEAFF,#E0D8F8); border:1px solid rgba(61,26,107,.2); }
  .q-sec-g { background:linear-gradient(135deg,#FFF5E0,#FFECC4); border:1px solid rgba(122,96,32,.25); }
  .q-sec-icon { font-size:28px; }
  .q-sec-title { font-family:'DM Serif Display',serif; font-size:20px; font-weight:700; color:var(--pu); }
  .q-sec-sub { font-size:12px; color:#6B5B8A; margin-top:2px; }
  .q-card { background:#FFFFFF; border-radius:12px; border:1px solid #E8E0F5; margin-bottom:14px; overflow:hidden; transition:all .2s; }
  .q-card:hover { border-color:#C5B8E0; }
  .q-card.answered { border-left:3px solid var(--pu); }
  .q-card-head { padding:16px 20px 14px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
  .q-card-left { display:flex; gap:12px; align-items:flex-start; flex:1; }
  .q-card-num { width:28px; height:28px; border-radius:7px; background:var(--pu-pale); color:var(--pu); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
  .q-card-q { font-size:14px; font-weight:500; color:var(--text); line-height:1.5; }
  .q-badge { font-size:10px; padding:3px 8px; border-radius:5px; font-weight:600; white-space:nowrap; flex-shrink:0; }
  .q-badge-req { background:#fde8e8; color:#8a2020; }
  .q-badge-opt { background:#fdf5e0; color:#8a6920; }
  .q-badge-decl { background:#e8eef5; color:#2d4a7a; }
  .q-body { padding:0 20px 18px 60px; }
  .q-yn { display:flex; gap:10px; }
  .q-yn label { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:11px; border:2px solid #e8e8e8; border-radius:9px; cursor:pointer; font-size:14px; font-weight:500; transition:all .2s; }
  .q-yn input[type=radio] { display:none; }
  .q-yn input[type=radio]:checked + span { font-weight:700; }
  .q-yn label:has(input:checked) { border-color:var(--pu); background:var(--pu-pale); color:var(--pu); }
  .q-yn label:has(input[value=ne]:checked) { border-color:#c0392b; background:#fde8e8; color:#c0392b; }
  .q-scale { display:flex; gap:7px; align-items:center; }
  .q-scale-btn { width:42px; height:42px; border-radius:9px; border:2px solid #E8E0F5; background:#FFFFFF; font-size:15px; font-weight:600; color:#6B5B8A; cursor:pointer; transition:all .2s; }
  .q-scale-btn:hover { border-color:var(--pu-l); color:var(--pu); }
  .q-scale-btn.sel { border-color:var(--pu); background:var(--pu); color:#fff; }
  .q-scale-labels { display:flex; justify-content:space-between; font-size:10px; color:#6B5B8A; margin-top:5px; }
  .q-upload { display:flex; align-items:center; gap:10px; padding:12px 16px; border:2px dashed #C5B8E0; border-radius:9px; cursor:pointer; transition:all .2s; background:#FFFFFF; }
  .q-upload:hover { border-color:var(--pu); background:var(--pu-pale); }
  .q-upload input[type=file] { display:none; }
  .q-upload-icon { font-size:20px; }
  .q-upload-text { font-size:13px; color:#6B5B8A; }
  .q-upload-text strong { color:var(--pu); }
  .q-upload.has-file { border-color:var(--gold); border-style:solid; background:#FFF8E8; }
  .q-upload.has-file .q-upload-text { color:var(--gold); }
  .q-nav { display:flex; justify-content:space-between; align-items:center; padding:18px 0 8px; }
  .q-btn { padding:12px 28px; border-radius:9px; font-size:14px; font-weight:600; cursor:pointer; border:none; font-family:'IBM Plex Sans',sans-serif; transition:all .2s; }
  .q-btn-p { background:var(--pu); color:#fff; }
  .q-btn-p:hover { background:var(--pu-l); transform:translateY(-1px); }
  .q-btn-o { background:#E8E0F5; color:#3D1A6B; }
  .q-btn-o:hover { background:#D0C4EA; }
  .q-results { max-width:700px; margin:0 auto; }
  .q-result-hero { background:linear-gradient(135deg,var(--pu) 0%,var(--pu-l) 100%); border-radius:16px; padding:36px 36px 32px; color:#fff; text-align:center; margin-bottom:24px; }
  .q-result-max { font-size:15px; color:rgba(255,255,255,.6); margin-bottom:20px; letter-spacing:.3px; }
  .q-donut-wrap { position:relative; width:200px; height:200px; margin:0 auto 16px; }
  .q-donut-wrap svg { transform:rotate(-90deg); }
  .q-donut-bg { fill:none; stroke:rgba(255,255,255,.12); stroke-width:14; }
  .q-donut-fg { fill:none; stroke:var(--gold); stroke-width:14; stroke-linecap:round; transition:stroke-dashoffset 1.8s cubic-bezier(0.22,1,0.36,1); }
  .q-donut-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .q-donut-score { font-family:'DM Serif Display',serif; font-size:56px; font-weight:700; line-height:1; color:#fff; }
  .q-donut-max { font-size:13px; color:rgba(255,255,255,.5); margin-top:3px; }
  .q-result-stars { font-size:24px; margin:0 0 6px; letter-spacing:3px; }
  .q-result-label { font-size:15px; color:rgba(255,255,255,.85); font-weight:500; }
  .q-result-breakdown { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-bottom:24px; }
  .q-rb-card { background:#FFFFFF; border-radius:12px; padding:20px; border:1px solid #E8E0F5; text-align:center; }
  .q-rb-letter { font-family:'DM Serif Display',serif; font-size:32px; font-weight:700; color:var(--pu); }
  .q-rb-score { font-size:22px; font-weight:700; color:var(--text); margin:4px 0; }
  .q-rb-max { font-size:12px; color:#6B5B8A; }
  .q-rb-bar-wrap { height:6px; background:#ede8f7; border-radius:3px; margin-top:10px; overflow:hidden; }
  .q-rb-bar { height:100%; border-radius:3px; background:linear-gradient(90deg,var(--pu),var(--pu-l)); }
  .q-result-detail { background:#FFFFFF; border-radius:12px; border:1px solid #E8E0F5; overflow:hidden; margin-bottom:24px; }
  .q-rd-head { padding:16px 22px; border-bottom:1px solid #E8E0F5; font-family:'DM Serif Display',serif; font-size:16px; color:var(--pu); }
  .q-rd-row { display:flex; align-items:center; padding:10px 22px; border-bottom:1px solid #E8E0F5; gap:12px; font-size:13px; }
  .q-rd-row:last-child { border-bottom:none; }
  .q-rd-id { width:28px; color:#6B5B8A; font-size:11px; font-weight:600; }
  .q-rd-text { flex:1; color:#6B5B8A; }
  .q-rd-pts { font-weight:700; color:var(--pu); white-space:nowrap; }
  .q-rd-pts.zero { color:#C5B8E0; }

  /* ARES in settings */
  .ares-card{background:#FFFFFF;border-radius:14px;border:1px solid #E8E0F5;margin-bottom:22px;overflow:hidden;}
  .ares-card-h{padding:18px 22px 14px;border-bottom:1px solid #E8E0F5;display:flex;align-items:center;gap:12px;}
  .ares-card-icon{width:38px;height:38px;background:#F0E8FF;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;}
  .ares-card-title{font-size:14px;font-weight:600;color:var(--text);}
  .ares-card-sub{font-size:11px;color:#6B5B8A;}
  .ares-card-b{padding:18px 22px;}
  .iw2{display:flex;gap:10px;margin-bottom:14px;}
  .iw2 input{flex:1;padding:10px 13px;border:1.5px solid #C5B8E0;border-radius:8px;font-size:15px;font-weight:600;letter-spacing:1.5px;font-family:'IBM Plex Sans',sans-serif;outline:none;transition:all .2s;}
  .iw2 input:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(139,47,201,0.2);}

  /* PRODUCT SELECT */
  #product-select{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:transparent;z-index:1000;display:flex;flex-direction:column;}
  .ps-header{background:#3D1A6B;border-bottom:1px solid rgba(201,168,76,0.2);padding:16px 48px;display:flex;align-items:center;gap:12px;flex-shrink:0;position:relative;z-index:10;}
  .ps-logo-hex{flex-shrink:0;}
  .ps-logo-name{font-family:'DM Serif Display',serif;font-size:17px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#C9A84C;}
  .ps-logo-sub{font-size:9px;color:rgba(255,255,255,0.5);letter-spacing:2px;text-transform:uppercase;margin-top:1px;}
  .ps-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0 20px 24px;overflow-y:auto;position:relative;z-index:1;}
  /* Hero */
  .ps-hero{width:100%;max-width:860px;text-align:center;padding:40px 20px 32px;}
  .ps-hero-pill{display:inline-block;background:rgba(201,168,76,0.1);border:1px solid rgba(201,168,76,0.3);border-radius:20px;color:#C9A84C;font-size:11px;letter-spacing:2px;padding:6px 16px;text-transform:uppercase;font-weight:600;margin-bottom:20px;}
  .ps-hero-title{font-family:'DM Serif Display',serif;font-size:42px;font-weight:600;color:#1A0A2E;line-height:1.2;margin-bottom:16px;}
  .ps-hero-sub{font-size:16px;color:#6B5B8A;max-width:480px;margin:0 auto 24px;}
  .ps-hero-badges{display:inline-flex;background:#fff;border:1px solid #E8E0F5;border-radius:50px;padding:10px 24px;gap:0;align-items:center;}
  .ps-hero-badge-item{display:flex;align-items:center;gap:7px;font-size:13px;color:#1A0A2E;padding:0 18px;}
  .ps-hero-badge-item:not(:last-child){border-right:1px solid #E8E0F5;}
  .ps-hero-badge-item:first-child{padding-left:0;}
  .ps-hero-badge-item:last-child{padding-right:0;}
  /* Countery */
  .ps-counters{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:36px;width:100%;max-width:860px;}
  .ps-counter-item{text-align:center;padding:0 40px;}
  .ps-counter-item:not(:last-child){border-right:1px solid #E8E0F5;}
  .ps-counter-num{font-size:32px;font-weight:700;color:#3D1A6B;line-height:1;margin-bottom:4px;}
  .ps-counter-lbl{font-size:12px;color:#6B5B8A;}
  /* Grid */
  .ps-title{font-family:'DM Serif Display',serif;font-size:22px;color:var(--text);margin-bottom:6px;text-align:center;}
  .ps-sub{font-size:14px;color:#6B5B8A;margin-bottom:28px;text-align:center;}
  .ps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%;max-width:860px;}
  .ps-tile{background:#fff;border-radius:16px;padding:26px 22px;cursor:pointer;border:2px solid #E8E0F5;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;flex-direction:column;gap:10px;position:relative;}
  .ps-tile:hover{transform:translateY(-3px);border-color:#C9A84C;box-shadow:0 4px 16px rgba(61,26,107,0.12);}
  .ps-tile.ps-featured{background:linear-gradient(135deg,#3D1A6B 0%,#5B2D9A 100%);border:2px solid #C9A84C;color:#fff;}
  .ps-tile.ps-featured:hover{box-shadow:0 8px 24px rgba(61,26,107,0.3);}
  .ps-tile-icon-box{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0 auto 14px;}
  .ps-tile-type{font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 9px;border-radius:20px;white-space:nowrap;}
  .ps-type-cert{background:rgba(201,168,76,0.2);color:#C9A84C;}
  .ps-type-aml{background:#EEEDFE;color:#3C3489;}
  .ps-type-kyber{background:#E6F1FB;color:#185FA5;}
  .ps-type-bozp{background:#FAEEDA;color:#854F0B;}
  .ps-type-ridici{background:#EAF3DE;color:#27500A;}
  .ps-type-po{background:#FCEBEB;color:#A32D2D;}
  .ps-type-audit{background:#EEEDFE;color:#3D1A6B;}
  .ps-tile-new{position:absolute;top:-12px;right:14px;background:#C9A84C;color:#1A0A2E;font-size:10px;font-weight:700;letter-spacing:1px;padding:4px 12px;border-radius:20px;white-space:nowrap;}
  .ps-type-talisman{background:#FFF3E0;color:#BF6000;}
  .ps-type-balik{background:rgba(76,175,80,0.25);color:#81C784;font-weight:600;}
  /* ══ TALISMAN MODAL ══ */
  #talisman-modal{position:fixed;inset:0;background:rgba(0,0,0,0.72);z-index:3200;display:none;align-items:center;justify-content:center;padding:16px;}
  #talisman-modal.open{display:flex;}
  .talisman-card{background:linear-gradient(160deg,#1A0A2E 0%,#2D1654 55%,#3B2010 100%);border:2px solid #C9A84C;border-radius:20px;padding:36px 32px;max-width:480px;width:100%;text-align:center;}
  .talisman-icon-ring{width:68px;height:68px;border-radius:50%;background:rgba(201,168,76,0.15);border:2px solid rgba(201,168,76,0.35);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
  .talisman-title{font-family:'DM Serif Display',serif;font-size:24px;color:#C9A84C;margin-bottom:4px;}
  .talisman-subtitle{font-size:11px;font-weight:700;letter-spacing:2px;color:rgba(201,168,76,0.55);text-transform:uppercase;margin-bottom:16px;}
  .talisman-text{font-size:13px;color:#D5C8F0;line-height:1.8;margin-bottom:18px;}
  .talisman-steps{background:rgba(255,255,255,0.05);border-radius:12px;padding:16px 20px;margin-bottom:22px;text-align:left;}
  .talisman-step{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#D5C8F0;line-height:1.5;margin-bottom:10px;}
  .talisman-step:last-child{margin-bottom:0;}
  .talisman-step-num{min-width:22px;height:22px;border-radius:50%;background:#C9A84C;color:#1A0A2E;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
  .talisman-cta{display:block;background:#C9A84C;color:#1A0A2E;border:none;border-radius:12px;padding:13px 28px;font-size:14px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;width:100%;margin-bottom:10px;text-decoration:none;line-height:1.4;}
  .talisman-cta:hover{background:#b8923e;}
  .talisman-close-lnk{font-size:12px;color:rgba(213,200,240,0.45);cursor:pointer;transition:color .2s;background:none;border:none;font-family:'IBM Plex Sans',sans-serif;}
  .talisman-close-lnk:hover{color:#D5C8F0;}
  /* ══ BALÍČEK SCREEN ══ */
  #balik-screen{position:fixed;inset:0;background:#F8F6FF;z-index:1002;display:none;flex-direction:column;}
  .bk-header{background:#3D1A6B;border-bottom:1px solid rgba(201,168,76,0.2);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
  .bk-header-back{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.85);border:none;border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;}
  .bk-header-back:hover{background:rgba(255,255,255,0.2);}
  .bk-steps-bar{background:#fff;border-bottom:1px solid #E8E0F5;padding:12px 20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .bk-step-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#9B8ABB;font-weight:500;}
  .bk-step-item.active{color:#3D1A6B;font-weight:700;}
  .bk-step-item.done{color:#2D9A5A;}
  .bk-step-dot{width:24px;height:24px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;}
  .bk-step-item.done .bk-step-dot{background:#2D9A5A;border-color:#2D9A5A;color:#fff;}
  .bk-step-ln{width:36px;height:1px;background:#E8E0F5;margin:0 8px;}
  .bk-step-body{flex:1;display:flex;flex-direction:column;overflow:hidden;}
  .bk-scroll{flex:1;overflow-y:auto;padding:20px;}
  .bk-inner{width:100%;max-width:860px;margin:0 auto;}
  .bk-section-title{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;margin-bottom:4px;}
  .bk-section-sub{font-size:13px;color:#6B5B8A;margin-bottom:20px;}
  .bk-sleva-box{background:#3D1A6B;border-radius:12px;padding:16px;margin-bottom:20px;}
  .bk-sleva-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .bk-sleva-lbl{font-size:13px;color:#D5C8F0;font-weight:600;}
  .bk-sleva-pct{font-size:22px;font-weight:700;color:#C9A84C;}
  .bk-sleva-bar-bg{height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden;margin-bottom:8px;}
  .bk-sleva-bar-fill{height:100%;background:#C9A84C;border-radius:4px;transition:width .4s ease;}
  .bk-sleva-hint{font-size:11px;color:rgba(201,168,76,0.8);margin-bottom:4px;}
  .bk-sleva-scale{display:flex;gap:12px;font-size:10px;color:rgba(201,168,76,0.5);}
  .bk-prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;}
  @media(max-width:600px){.bk-prod-grid{grid-template-columns:1fr 1fr;}}
  .bk-prod-tile{background:#fff;border:2px solid #E8E0F5;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;position:relative;display:flex;flex-direction:column;gap:6px;}
  .bk-prod-tile:hover{border-color:#C9A84C;transform:translateY(-2px);box-shadow:0 4px 12px rgba(61,26,107,0.1);}
  .bk-prod-tile.selected{border-color:#C9A84C;background:#FFF8EC;}
  .bk-prod-check{position:absolute;top:-10px;right:-10px;width:24px;height:24px;border-radius:50%;background:#C9A84C;color:#1A0A2E;display:none;align-items:center;justify-content:center;font-size:12px;font-weight:700;z-index:1;}
  .bk-prod-tile.selected .bk-prod-check{display:flex;}
  .bk-prod-iconbox{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:2px;}
  .bk-prod-name{font-size:12px;font-weight:700;color:#1A0A2E;line-height:1.3;}
  .bk-prod-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px;width:fit-content;}
  .bk-prod-price{font-size:13px;font-weight:700;color:#C9A84C;margin-top:auto;padding-top:4px;}
  .bk-bottom{background:#fff;border-top:1px solid #E8E0F5;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
  .bk-bottom-lbl{font-size:13px;color:#1A0A2E;font-weight:600;}
  .bk-bottom-sleva-lbl{font-size:11px;color:#C9A84C;font-weight:600;margin-top:3px;}
  .bk-continue-btn{background:#3D1A6B;color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:14px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;}
  .bk-continue-btn:disabled{background:#C5B8E0;cursor:not-allowed;}
  .bk-continue-btn:not(:disabled):hover{background:#5B2D9A;}
  .bk-qty-table{width:100%;border-collapse:collapse;margin-bottom:20px;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #E8E0F5;}
  .bk-qty-th{text-align:left;font-size:11px;font-weight:700;color:#6B5B8A;letter-spacing:.5px;padding:10px 14px;background:#F8F6FF;border-bottom:2px solid #E8E0F5;}
  .bk-qty-td{padding:12px 14px;border-bottom:1px solid #F0EBF8;vertical-align:middle;}
  tr:last-child .bk-qty-td{border-bottom:none;}
  .bk-qty-prod{display:flex;align-items:center;gap:10px;}
  .bk-qty-prod-name{font-size:13px;font-weight:600;color:#1A0A2E;line-height:1.3;}
  .bk-qty-counter{display:flex;align-items:center;gap:6px;}
  .bk-qty-btn{width:32px;height:32px;border-radius:6px;background:#F0E8FF;border:none;cursor:pointer;font-size:18px;line-height:1;font-weight:700;color:#3D1A6B;display:flex;align-items:center;justify-content:center;transition:background .15s;}
  .bk-qty-btn:hover{background:#E0D0FF;}
  .bk-qty-input{width:56px;text-align:center;border:1px solid #E8E0F5;border-radius:6px;padding:5px;font-size:14px;font-weight:600;color:#1A0A2E;font-family:'IBM Plex Sans',sans-serif;}
  .bk-qty-sub{font-size:13px;font-weight:700;color:#3D1A6B;text-align:right;white-space:nowrap;}
  .bk-sleva-panel{background:#F8F6FF;border:1px solid #E8E0F5;border-radius:12px;padding:16px;margin-bottom:16px;}
  .bk-sleva-panel-title{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#9B8ABB;text-transform:uppercase;margin-bottom:12px;}
  .bk-sp-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#3D1A6B;margin-bottom:6px;}
  .bk-sp-row.green{color:#2D9A5A;}
  .bk-sp-sep{border:none;border-top:1px solid #E8E0F5;margin:10px 0;}
  .bk-sp-total{display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:700;color:#C9A84C;}
  .bk-tip{background:#FFFBF0;border:1px solid #F0D070;border-radius:10px;padding:12px 14px;font-size:12px;color:#7A5500;margin-bottom:16px;line-height:1.5;}
  .bk-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:#fff;border-top:1px solid #E8E0F5;flex-shrink:0;}
  .bk-back-btn{background:#F0E8FF;color:#3D1A6B;border:none;border-radius:10px;padding:11px 18px;font-size:13px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;}
  .bk-back-btn:hover{background:#E0D0FF;}
  .bk-pay-recap{background:linear-gradient(135deg,#2D0F52 0%,#3D1A6B 100%);border-radius:16px;padding:22px;margin-bottom:16px;}
  .bk-pay-recap-title{font-family:'DM Serif Display',serif;font-size:18px;color:#C9A84C;margin-bottom:14px;}
  .bk-pay-ln{display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,0.75);margin-bottom:6px;}
  .bk-pay-ln strong{color:#fff;}
  .bk-pay-ln.green{color:#81C784;}
  .bk-pay-sep2{border:none;border-top:1px solid rgba(255,255,255,0.15);margin:10px 0;}
  .bk-pay-total-ln{display:flex;justify-content:space-between;font-size:20px;font-weight:700;color:#C9A84C;margin-top:8px;}
  .bk-pay-methods{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;border:1px solid #E8E0F5;}
  .bk-pay-meth-title{font-size:12px;font-weight:700;color:#6B5B8A;margin-bottom:10px;}
  .bk-pay-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
  .bk-pay-chip{background:#F8F6FF;border:1px solid #E8E0F5;border-radius:20px;padding:5px 12px;font-size:12px;color:#3D1A6B;}
  .bk-pay-comgate{font-size:11px;color:#9B8ABB;margin-bottom:14px;}
  .bk-pay-btn{width:100%;background:#C9A84C;color:#1A0A2E;border:none;border-radius:12px;padding:15px;font-size:15px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;margin-bottom:8px;}
  .bk-pay-btn:disabled{background:#C5B8E0;cursor:not-allowed;}
  .bk-pay-btn:not(:disabled):hover{background:#b8923e;}
  .bk-pay-secure{text-align:center;font-size:11px;color:#9B8ABB;}
  .bk-billing-card{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;border:1px solid #E8E0F5;}
  .bk-billing-title{font-size:12px;font-weight:700;color:#6B5B8A;margin-bottom:10px;}
  .bk-billing-row{display:flex;justify-content:space-between;font-size:13px;color:#3D1A6B;margin-bottom:5px;}
  .bk-billing-row span:first-child{color:#9B8ABB;}
  .bk-success-wrap{text-align:center;padding:48px 20px;max-width:480px;margin:0 auto;width:100%;}
  .bk-success-icon{width:72px;height:72px;border-radius:50%;background:#2D9A5A;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
  .bk-success-title{font-family:'DM Serif Display',serif;font-size:26px;color:#1A0A2E;margin-bottom:8px;}
  .bk-success-sub{font-size:14px;color:#6B5B8A;line-height:1.7;margin-bottom:8px;}
  .bk-success-total{font-size:18px;font-weight:700;color:#C9A84C;margin-bottom:24px;}
  .bk-success-home-btn{background:#3D1A6B;color:#fff;border:none;border-radius:12px;padding:13px 28px;font-size:14px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;}

  /* ══ B2B DASHBOARD ══ */
  .b2b-success-info{background:#3D1A6B;border-radius:12px;padding:16px 20px;color:#E8D5FF;font-size:13px;line-height:1.6;margin-bottom:20px;text-align:center;}
  .b2b-success-info strong{color:#C9A84C;}
  .b2b-success-btns{display:flex;flex-direction:column;gap:10px;width:100%;}
  .b2b-btn{width:100%;padding:13px 20px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;border:none;font-family:'IBM Plex Sans',sans-serif;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;}
  .b2b-btn.green{background:#2D9A5A;color:#fff;}.b2b-btn.green:hover{background:#228B4E;}
  .b2b-btn.purple{background:#3D1A6B;color:#fff;}.b2b-btn.purple:hover{background:#5B2D9A;}
  .b2b-btn.outline{background:transparent;color:#3D1A6B;border:2px solid #3D1A6B;}.b2b-btn.outline:hover{background:#F0E8FF;}
  .b2b-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
  @media(max-width:700px){.b2b-stats-grid{grid-template-columns:repeat(2,1fr);}}
  .b2b-stat{background:#fff;border:1px solid #E8E0F5;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;}
  .b2b-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .b2b-stat-val{font-size:22px;font-weight:700;color:#1A0A2E;line-height:1;}
  .b2b-stat-lbl{font-size:11px;color:#6B5B8A;margin-top:3px;}
  .b2b-filter-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
  .b2b-filter-btn{background:#F8F6FF;border:1px solid #E8E0F5;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;color:#6B5B8A;transition:all .2s;}
  .b2b-filter-btn.active{background:#3D1A6B;color:#fff;border-color:#3D1A6B;}
  .b2b-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid #E8E0F5;margin-bottom:20px;}
  .b2b-table{width:100%;border-collapse:collapse;background:#fff;}
  .b2b-th{text-align:left;font-size:11px;font-weight:700;color:#6B5B8A;letter-spacing:.5px;padding:10px 14px;background:#F8F6FF;border-bottom:2px solid #E8E0F5;white-space:nowrap;}
  .b2b-td{padding:11px 14px;border-bottom:1px solid #F0EBF8;font-size:13px;color:#1A0A2E;vertical-align:middle;}
  .b2b-tr:last-child .b2b-td{border-bottom:none;}
  .b2b-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;}
  .b2b-badge.ceka{background:#FFF3E0;color:#BF6000;}
  .b2b-badge.absolvoval{background:#E8F5E9;color:#2D9A5A;}
  .b2b-badge.neuspel{background:#FFEBEE;color:#C62828;}
  .b2b-badge.urgovan{background:#E3F2FD;color:#1565C0;}
  .b2b-urgovat-btn{background:#FFF8EC;border:1px solid #F0D070;border-radius:8px;padding:5px 10px;cursor:pointer;font-size:12px;color:#7A5500;transition:all .2s;display:inline-flex;align-items:center;gap:4px;}
  .b2b-urgovat-btn:hover{background:#FFF3D0;}
  .b2b-urgovat-btn:disabled{opacity:.4;cursor:not-allowed;}
  .b2b-select{width:100%;border:1.5px solid #E8E0F5;border-radius:10px;padding:10px 14px;font-size:13px;color:#1A0A2E;font-family:'IBM Plex Sans',sans-serif;background:#fff;margin-bottom:16px;cursor:pointer;}
  .b2b-upload-zone{border:2px dashed #C9A84C;border-radius:12px;padding:36px 20px;text-align:center;background:#FDFBF5;cursor:pointer;transition:all .2s;margin-bottom:16px;}
  .b2b-upload-zone:hover,.b2b-upload-zone.drag{background:#FFF8EC;border-color:#b8923e;}
  .b2b-upload-title{font-size:14px;font-weight:600;color:#3D1A6B;margin:10px 0 4px;}
  .b2b-upload-sub{font-size:12px;color:#9B8ABB;}
  .b2b-upload-formats{font-size:11px;color:#C9A84C;margin-top:6px;}
  .b2b-preview-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:12px;border-radius:8px;overflow:hidden;border:1px solid #E8E0F5;}
  .b2b-preview-th{background:#F8F6FF;padding:7px 10px;text-align:left;font-weight:700;color:#6B5B8A;border-bottom:1px solid #E8E0F5;}
  .b2b-preview-td{padding:6px 10px;border-bottom:1px solid #F0EBF8;color:#1A0A2E;}
  .b2b-preview-td.err{background:#FFF0F0;color:#C62828;}
  .b2b-process-btn{width:100%;background:#3D1A6B;color:#fff;border:none;border-radius:12px;padding:13px;font-size:14px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;}
  .b2b-process-btn:disabled{background:#C5B8E0;cursor:not-allowed;}
  .b2b-process-btn:not(:disabled):hover{background:#5B2D9A;}
  .b2b-empty{text-align:center;padding:32px;color:#9B8ABB;font-size:13px;}
  .b2b-section-sub{font-size:12px;color:#9B8ABB;margin-bottom:16px;}

  /* ══ PLATEBNÍ OBRAZOVKA ══ */
  #payment-screen{position:fixed;inset:0;background:#F0EBF9;z-index:1005;display:none;flex-direction:column;}  /* VN-LR-13: brand bg (po HTML fix už sibling body) */
  .pay-header{background:#3D1A6B;border-bottom:1px solid rgba(201,168,76,0.2);padding:16px 48px;display:flex;align-items:center;gap:12px;flex-shrink:0;}
  .pay-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:32px 20px 48px;background:linear-gradient(145deg,#f3eeff 0%,#ece4f8 50%,#e5daf4 100%);}
  .pay-steps{display:flex;align-items:center;margin:0 auto 28px;max-width:580px;width:100%;}
  .pay-step{display:flex;align-items:center;gap:6px;font-size:12px;color:#6B5B8A;flex:1;}.pay-step span{white-space:nowrap;}
  .pay-step.done{color:#2D9A5A;}.pay-step.active{color:#3D1A6B;font-weight:600;}
  .pay-step-dot{width:22px;height:22px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;}
  .pay-step.done .pay-step-dot{background:#2D9A5A;border-color:#2D9A5A;color:#fff;}
  .pay-step-line{flex:1;height:1px;background:#E8E0F5;margin:0 6px;}
  /* Product card */
  .pay-wrap{width:100%;max-width:580px;}
  .pay-product-card{background:linear-gradient(135deg,#2D0F52 0%,#3D1A6B 60%,#4A1F80 100%);border-radius:16px;padding:24px;margin-bottom:14px;position:relative;overflow:hidden;}
  .pay-product-card::before{content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(201,168,76,0.12) 0%,transparent 70%);pointer-events:none;}
  .pay-prod-header{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
  .pay-prod-icon{width:48px;height:48px;border-radius:12px;background:rgba(201,168,76,0.15);border:1px solid rgba(201,168,76,0.28);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .pay-prod-name{font-family:'DM Serif Display',serif;font-size:20px;color:#C9A84C;line-height:1.2;margin-bottom:4px;}
  .pay-prod-desc{font-size:12px;color:rgba(255,255,255,0.6);}
  .pay-prod-validity{font-size:12px;color:rgba(255,255,255,0.45);margin-bottom:16px;}
  .pay-prod-validity strong{color:rgba(255,255,255,0.7);}
  .pay-price-box{background:rgba(255,255,255,0.08);border-radius:10px;padding:16px;border:1px solid rgba(255,255,255,0.1);}
  .pay-price-line{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:5px 0;}
  .pay-price-line>span:first-child{color:rgba(255,255,255,0.6);}
  .pay-price-line>span:last-child{color:rgba(255,255,255,0.82);}
  .pay-price-sep{height:1px;background:rgba(255,255,255,0.15);margin:8px 0;}
  .pay-price-line.total>span:first-child{font-size:14px;font-weight:600;color:#fff;}
  .pay-price-line.total>span:last-child{font-size:22px;font-weight:700;color:#C9A84C;font-family:'DM Serif Display',serif;}
  /* Lower 2-col grid */
  .pay-lower{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media(max-width:580px){.pay-lower{grid-template-columns:1fr;}}
  .pay-side-card{background:#fff;border-radius:14px;padding:20px;border:1px solid rgba(225,215,245,0.8);box-shadow:0 1px 3px rgba(61,26,107,0.04),0 4px 12px rgba(61,26,107,0.06);}
  .pay-card-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1A0A2E;margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid #EDE5F9;}
  .pay-card-title svg{color:#3D1A6B;flex-shrink:0;}
  .pay-brow{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:12px;border-bottom:1px solid #F5F0FC;}
  .pay-brow:last-of-type{border-bottom:none;}
  .pay-brow-lbl{color:#8B7AAA;flex-shrink:0;}
  .pay-brow-val{color:#1A0A2E;font-weight:500;text-align:right;word-break:break-word;}
  .pay-edit-btn{margin-top:12px;width:100%;padding:8px;border:1px solid #DDD6F0;border-radius:8px;background:transparent;font-size:12px;color:#6B5B8A;cursor:pointer;font-family:inherit;transition:all .2s;}
  .pay-edit-btn:hover{border-color:#3D1A6B;color:#3D1A6B;}
  .pay-methods-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
  .pay-method-chip{display:flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid #E8E0F5;border-radius:7px;font-size:11px;color:#1A0A2E;background:#FDFBFF;}
  .pay-comgate-note{font-size:11px;color:#8B7AAA;margin-bottom:14px;line-height:1.5;}
  .pay-btn{background:#C9A84C;color:#1A0A2E;border:none;border-radius:12px;width:100%;padding:15px;font-size:15px;font-weight:700;cursor:pointer;margin-bottom:9px;transition:all .2s;font-family:inherit;box-shadow:0 4px 14px rgba(201,168,76,0.28);}
  .pay-btn:hover{background:#b8943e;transform:translateY(-1px);box-shadow:0 6px 20px rgba(201,168,76,0.38);}
  .pay-secure{text-align:center;font-size:11px;color:#6B5B8A;}
  .pay-back{display:block;text-align:center;font-size:12px;color:#8B7AAA;margin-top:9px;cursor:pointer;}
  .pay-back:hover{color:#3D1A6B;text-decoration:underline;}
  /* Loading overlay */
  .pay-loading{display:none;position:fixed;inset:0;background:rgba(26,10,46,0.72);z-index:1010;flex-direction:column;align-items:center;justify-content:center;gap:16px;}
  .pay-loading.active{display:flex;}
  .pay-loading-text{color:#fff;font-size:16px;font-weight:500;}
  .pay-spinner{width:44px;height:44px;border:4px solid rgba(255,255,255,0.2);border-top-color:#C9A84C;border-radius:50%;animation:spin .8s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  /* Success screen */
  .pay-success-wrap{width:100%;max-width:480px;}
  .pay-success-green{background:#EAF3DE;border:2px solid #97C459;border-radius:20px;padding:36px 32px;text-align:center;margin-bottom:14px;}
  .pay-success-check{width:80px;height:80px;border-radius:50%;background:#2D9A5A;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 6px 24px rgba(45,154,90,0.35);}
  .pay-success-title{font-family:'DM Serif Display',serif;font-size:24px;font-weight:600;color:#1A3A0A;margin-bottom:8px;}
  .pay-success-sub{font-size:14px;color:#27500A;line-height:1.55;}
  .pay-order-card{background:#fff;border:1px solid #E8E0F5;border-radius:12px;padding:18px 20px;margin-bottom:14px;}
  .pay-detail-row{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13px;border-bottom:1px solid #F5F0FC;}
  .pay-detail-row:last-child{border-bottom:none;}
  .pay-detail-icon{width:20px;height:20px;border-radius:50%;background:#EAF3DE;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#2D9A5A;}
  .pay-detail-lbl{color:#6B5B8A;white-space:nowrap;}
  .pay-detail-val{color:#1A0A2E;font-weight:600;margin-left:auto;text-align:right;}
  .pay-email-box{background:#F0E8FF;border:1px solid rgba(201,168,76,0.4);border-radius:10px;padding:14px;margin-bottom:16px;display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#3D1A6B;line-height:1.55;}
  .pay-email-box svg{flex-shrink:0;margin-top:1px;}
  .pay-action-primary{background:#3D1A6B;color:#fff;border:none;border-radius:10px;width:100%;padding:14px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px;}
  .pay-action-primary:hover{background:#5B2D9A;transform:translateY(-1px);}
  .pay-action-secondary{background:#C9A84C;color:#1A0A2E;border:none;border-radius:10px;width:100%;padding:14px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px;}
  .pay-action-secondary:hover{background:#b8943e;}
  .pay-action-tertiary{background:transparent;color:#3D1A6B;border:1.5px solid #3D1A6B;border-radius:10px;width:100%;padding:12px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s;}
  .pay-action-tertiary:hover{background:#F0EBF8;}
  /* Cancelled */
  .pay-result.cancelled{background:#fff;border-radius:20px;box-shadow:0 4px 24px rgba(61,26,107,0.08);padding:40px 36px;width:100%;max-width:480px;text-align:center;}
  .pay-result-icon{font-size:48px;margin-bottom:16px;}
  .pay-result.cancelled .pay-result-title{font-family:'DM Serif Display',serif;font-size:24px;color:#EF9F27;margin-bottom:10px;}
  .pay-result-sub{font-size:14px;color:#6B5B8A;line-height:1.6;margin-bottom:24px;}
  .pay-result-btn{background:#3D1A6B;color:#fff;border:none;border-radius:12px;padding:14px 28px;font-size:15px;font-weight:600;cursor:pointer;margin:6px;font-family:inherit;}
  .pay-result-btn.secondary{background:#F0E8FF;color:#3D1A6B;}

  /* ══ AUDIT SCREEN ══ */
  #audit-screen{position:fixed;inset:0;background:#f8f7fc;z-index:1004;display:none;flex-direction:column;}
  .aud-header{background:#3D1A6B;border-bottom:1px solid rgba(201,168,76,0.2);padding:16px 32px;position:relative;display:flex;align-items:center;justify-content:flex-start;gap:24px;flex-shrink:0;}
  .aud-header>div:first-child{position:relative;z-index:2;flex:0 0 auto;}
  .aud-steps{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:0;z-index:1;}
  @media(max-width:900px){.aud-header{flex-wrap:wrap;justify-content:center;padding:16px;}.aud-header .aud-steps{position:static;transform:none;left:auto;top:auto;width:100%;justify-content:center;}}
  .aud-step{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,0.45);padding:0 14px;}
  .aud-step.done{color:#C9A84C;}
  .aud-step.active{color:#FFFFFF;font-weight:600;}
  .aud-step-dot{width:22px;height:22px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;}
  .aud-step.done .aud-step-dot{background:#C9A84C;border-color:#C9A84C;color:#1A0A2E;}
  .aud-step-sep{width:28px;height:1px;background:rgba(255,255,255,0.2);}
  .aud-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:0 20px 48px;position:relative;z-index:1;}
  /* Hero */
  .aud-hero{width:100%;max-width:620px;text-align:center;padding:36px 20px 28px;}
  .aud-pill{display:inline-block;background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.35);border-radius:20px;color:#C9A84C;font-size:10px;letter-spacing:2px;padding:5px 14px;text-transform:uppercase;font-weight:600;margin-bottom:16px;}
  .aud-h1{font-family:'DM Serif Display',serif;font-size:34px;font-weight:600;color:#1A0A2E;line-height:1.2;margin-bottom:12px;}
  .aud-sub{font-size:15px;color:#6B5B8A;line-height:1.6;max-width:500px;margin:0 auto;}
  /* Vstupní karta */
  .aud-card{width:100%;max-width:620px;background:#FFFFFF;border-radius:20px;box-shadow:0 4px 24px rgba(61,26,107,0.08);padding:32px 36px;margin-bottom:28px;}
  .aud-field-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#6B5B8A;margin-bottom:7px;display:block;}
  .aud-field-wrap{display:flex;align-items:stretch;border:1.5px solid #DDD5EE;border-radius:10px;overflow:hidden;margin-bottom:20px;transition:border-color .15s;}
  .aud-field-wrap:focus-within{border-color:#3D1A6B;}
  .aud-field-prefix{background:#F7F5FB;color:#6B5B8A;font-size:13px;padding:11px 13px;border-right:1.5px solid #DDD5EE;white-space:nowrap;display:flex;align-items:center;}
  .aud-field-input{flex:1;border:none;outline:none;padding:11px 14px;font-size:14px;color:#1A0A2E;font-family:'IBM Plex Sans',sans-serif;background:#FFFFFF;}
  .aud-field-input::placeholder{color:#B0A4C4;}
  .aud-select{width:100%;border:1.5px solid #DDD5EE;border-radius:10px;padding:11px 14px;font-size:14px;color:#1A0A2E;font-family:'IBM Plex Sans',sans-serif;background:#FFFFFF;outline:none;margin-bottom:20px;transition:border-color .15s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B5B8A' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;}
  .aud-select:focus{border-color:#3D1A6B;}
  .aud-price-row{display:flex;align-items:center;justify-content:space-between;background:#F8F6FF;border-radius:10px;padding:13px 16px;margin-bottom:22px;}
  .aud-price-label{font-size:13px;color:#6B5B8A;}
  .aud-price-val{font-size:20px;font-weight:700;color:#3D1A6B;font-family:'DM Serif Display',serif;}
  .aud-submit-btn{width:100%;background:#3D1A6B;color:#FFFFFF;border:none;border-radius:12px;padding:15px;font-size:15px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s,transform .1s;}
  .aud-submit-btn:hover{background:#5A2A9A;transform:translateY(-1px);}
  .aud-submit-btn:disabled{background:#C5B8D8;cursor:default;transform:none;}
  .aud-note{text-align:center;font-size:11px;color:#6B5B8A;margin-top:10px;}
  /* Výhody */
  .aud-benefits{display:flex;gap:18px;width:100%;max-width:620px;margin-bottom:32px;}
  .aud-benefit{flex:1;background:#FFFFFF;border-radius:14px;padding:18px 16px;text-align:center;box-shadow:0 2px 10px rgba(61,26,107,0.06);}
  .aud-benefit-icon{width:40px;height:40px;border-radius:10px;background:#F0EBF8;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
  .aud-benefit-icon svg{width:20px;height:20px;color:#3D1A6B;}
  .aud-benefit-name{font-size:13px;font-weight:600;color:#1A0A2E;margin-bottom:4px;}
  .aud-benefit-desc{font-size:11px;color:#6B5B8A;line-height:1.4;}
  /* Loading */
  #view-audit-loading{display:none;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;flex:1;}
  .aud-load-logo{animation:audPulse 1.6s ease-in-out infinite;}
  @keyframes audPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.1);opacity:0.7;}}
  .aud-load-title{font-family:'DM Serif Display',serif;font-size:24px;color:#1A0A2E;margin:24px 0 8px;}
  .aud-load-status{font-size:14px;color:#6B5B8A;margin-bottom:28px;min-height:22px;transition:opacity .3s;}
  .aud-load-bar-wrap{width:100%;max-width:420px;height:6px;background:#EAE4F2;border-radius:3px;overflow:hidden;}
  .aud-load-bar{height:100%;background:#C9A84C;border-radius:3px;width:0%;transition:width .4s ease;}
  /* IČO pole */
  #law-ico{background:#FFFFFF;color:#1A0A2E;border:1.5px solid #DDD5EE;border-radius:10px;padding:11px 14px;font-size:14px;width:100%;box-sizing:border-box;outline:none;transition:border-color .15s;margin-bottom:20px;font-family:'IBM Plex Sans',sans-serif;}
  #law-ico:focus{border-color:#3D1A6B;box-shadow:0 0 0 3px rgba(61,26,107,0.1);}
  #law-ico::placeholder{color:#B0A4C4;}
50%{opacity:0.3}}
  /* Report */
  #view-audit-report{display:none;flex-direction:column;width:100%;max-width:720px;margin:0 auto;padding:28px 0 48px;}
  .aud-rep-header{background:#3D1A6B;border-radius:16px;padding:28px 32px;margin-bottom:20px;color:#fff;}
  .aud-rep-title{font-size:10px;letter-spacing:2px;color:rgba(255,255,255,0.5);text-transform:uppercase;margin-bottom:4px;}
  .aud-rep-site{font-family:'DM Serif Display',serif;font-size:22px;color:#C9A84C;margin-bottom:6px;word-break:break-all;}
  .aud-rep-meta{font-size:12px;color:rgba(255,255,255,0.55);}
  .aud-rep-score-wrap{display:flex;align-items:center;gap:20px;margin-top:18px;}
  .aud-rep-score-circle{width:80px;height:80px;border-radius:50%;border:4px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;}
  .aud-rep-score-num{font-size:26px;font-weight:700;line-height:1;}
  .aud-rep-score-lbl{font-size:9px;letter-spacing:1px;margin-top:2px;}
  .aud-rep-verdict{font-size:18px;font-weight:600;}
  .aud-rep-verdict-sub{font-size:13px;color:rgba(255,255,255,0.6);margin-top:4px;}
  .aud-rep-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
  .aud-rep-sum-card{border-radius:12px;padding:16px;text-align:center;}
  .aud-rep-sum-num{font-size:28px;font-weight:700;font-family:'DM Serif Display',serif;}
  .aud-rep-sum-lbl{font-size:12px;margin-top:2px;}
  .aud-rep-section{margin-bottom:18px;}
  .aud-rep-sec-title{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#1A0A2E;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
  .aud-rep-item{background:#FFFFFF;border-radius:12px;padding:16px 18px;margin-bottom:10px;box-shadow:0 2px 8px rgba(61,26,107,0.06);}
  .aud-rep-item.crit{border-left:4px solid #A32D2D;}
  .aud-rep-item.warn{border-left:4px solid #EF9F27;}
  .aud-rep-item-name{font-size:14px;font-weight:600;color:#1A0A2E;margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .aud-rep-law-badge{font-size:10px;background:#F0EBF8;color:#3D1A6B;border-radius:6px;padding:2px 8px;font-weight:600;white-space:nowrap;}
  .aud-rep-item-desc{font-size:13px;color:#4A3A5A;line-height:1.5;margin-bottom:8px;}
  .aud-rep-item-tip{font-size:12px;color:#3D6B2A;background:#EDF7E6;border-radius:6px;padding:8px 12px;display:flex;align-items:flex-start;gap:6px;}
  .aud-rep-ok-pills{display:flex;flex-wrap:wrap;gap:8px;}
  .aud-rep-ok-pill{background:#EDF7E6;color:#27500A;font-size:12px;padding:5px 12px;border-radius:20px;display:flex;align-items:center;gap:5px;}
  /* Chybový box — nedostupný web */
  .aud-chyba-box{background:#FAEEDA;border:1.5px solid #EF9F27;border-radius:14px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin:16px 0;}
  .aud-chyba-box i{color:#EF9F27;width:36px;height:36px;}
  .aud-chyba-box-title{font-size:16px;font-weight:700;color:#7A4B00;}
  .aud-chyba-box-msg{font-size:13px;color:#7A4B00;line-height:1.5;}
  .aud-chyba-retry{background:#EF9F27;color:#fff;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px;}
  .aud-chyba-retry:hover{background:#d48a18;}
  .aud-rep-disclaimer{background:#F8F6FF;border-radius:10px;padding:14px 18px;font-size:11px;color:#6B5B8A;line-height:1.6;margin-bottom:20px;border-left:3px solid #DDD5EE;}
  .aud-rep-actions{display:flex;gap:12px;}
  .aud-rep-btn-primary{flex:1;background:#3D1A6B;color:#fff;border:none;border-radius:10px;padding:13px;font-size:14px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;}
  .aud-rep-btn-primary:hover{background:#5A2A9A;}
  .aud-rep-btn-outline{flex:1;background:transparent;color:#3D1A6B;border:2px solid #3D1A6B;border-radius:10px;padding:13px;font-size:14px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:all .2s;}
  .aud-rep-btn-outline:hover{background:#F0EBF8;}
  .ps-tile-pop{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#C9A84C;color:#1A0A2E;font-size:10px;font-weight:700;letter-spacing:1px;padding:4px 14px;border-radius:20px;white-space:nowrap;}
  .ps-tile-name{font-family:'DM Serif Display',serif;font-size:16px;color:var(--text);line-height:1.3;text-align:center;}
  .ps-tile.ps-featured .ps-tile-name{color:#fff;}
  .ps-tile-desc{font-size:12px;color:#6B5B8A;line-height:1.5;flex:1;text-align:center;}
  .ps-tile.ps-featured .ps-tile-desc{color:rgba(255,255,255,0.75);}
  .ps-tile-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:4px;}
  .ps-tile-price{font-size:13px;font-weight:600;color:#3D1A6B;}
  .ps-tile.ps-featured .ps-tile-price{color:#C9A84C;}
  /* ══ PRODUCT TILE TOOLTIP ══ */
  .ps-tile-info{display:inline-flex;align-items:center;margin-left:5px;cursor:help;color:rgba(61,26,107,0.35);vertical-align:middle;transition:color .15s;line-height:1;flex-shrink:0;}
  .ps-tile-info:hover{color:#3D1A6B;}
  .ps-tile.ps-featured .ps-tile-info{color:rgba(255,255,255,0.35);}
  .ps-tile.ps-featured .ps-tile-info:hover{color:rgba(255,255,255,0.8);}
  #glejt-tooltip{display:none;position:fixed;z-index:99999;width:240px;background:#FFFFFF;color:#1A0A2E;border-radius:10px;border:1px solid #E8E0F5;box-shadow:0 4px 20px rgba(61,26,107,0.12);padding:14px;font-size:12px;line-height:1.6;pointer-events:none;}
  .glejt-tip-title{font-size:12px;font-weight:700;color:#3D1A6B;margin-bottom:6px;}
  .glejt-tip-body{font-size:11px;color:#6B5B8A;line-height:1.5;white-space:pre-line;}
  @media(max-width:600px){#glejt-tooltip{width:calc(100vw - 32px);max-width:260px;}}

  /* ══ KREDITNÍ SYSTÉM ══ */
  .kredit-b2b-badge{background:#C9A84C;color:#1A0A2E;font-size:10px;font-weight:700;border-radius:4px;padding:2px 6px;letter-spacing:.5px;vertical-align:middle;margin-left:6px;}
  .kredit-balance-card{background:linear-gradient(135deg,#3D1A6B,#5A2D8A);border-radius:16px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
  .kredit-bal-main{font-size:32px;font-weight:800;color:#fff;line-height:1;}
  .kredit-bal-unit{font-size:16px;font-weight:400;color:rgba(255,255,255,0.7);}
  .kredit-bal-sub{font-size:12px;color:rgba(255,255,255,0.6);margin-top:4px;}
  .kredit-bal-rez{font-size:12px;color:rgba(201,168,76,0.9);margin-top:6px;}
  .kredit-bal-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end;}
  .kredit-dobit-btn{background:#C9A84C;color:#1A0A2E;border:none;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;}
  .kredit-dobit-btn:hover{background:#e0bc5a;transform:translateY(-1px);}
  .kredit-priradit-btn{background:rgba(255,255,255,0.12);color:#fff;border:1.5px solid rgba(255,255,255,0.25);border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;}
  .kredit-priradit-btn:hover{background:rgba(255,255,255,0.2);}
  .kredit-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
  .kredit-mini-stat{background:#F8F5FF;border-radius:12px;padding:14px 16px;text-align:center;}
  .kredit-mini-val{font-size:22px;font-weight:800;color:#3D1A6B;}
  .kredit-mini-lbl{font-size:11px;color:#888;margin-top:2px;}
  .kredit-subsection-title{font-size:13px;font-weight:700;color:#3D1A6B;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #EEE8FF;}
  .kredit-history-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;background:#F8F5FF;margin-bottom:6px;font-size:13px;}
  .kredit-history-row:hover{background:#EEE8FF;}
  .kredit-hist-typ{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-right:10px;}
  .kredit-hist-typ.dobiti{background:#E8F5E9;color:#2D9A5A;}
  .kredit-hist-typ.bonus{background:#FFF8EC;color:#C9A84C;}
  .kredit-hist-typ.rezervace{background:#EEEDFE;color:#3D1A6B;}
  .kredit-hist-typ.strhnuti{background:#FFEBEE;color:#E24B4A;}
  .kredit-hist-typ.uvolneni{background:#E8F5E9;color:#2D9A5A;}
  .kredit-hist-typ.korekce{background:#F0F0F0;color:#666;}
  .kredit-hist-castka{font-weight:700;font-size:14px;}
  .kredit-hist-castka.plus{color:#2D9A5A;}
  .kredit-hist-castka.minus{color:#E24B4A;}
  .kredit-rez-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;background:#FFF8EC;border:1px solid rgba(201,168,76,0.2);margin-bottom:6px;font-size:13px;gap:8px;flex-wrap:wrap;}
  .kredit-rez-name{font-weight:600;color:#1A0A2E;}
  .kredit-rez-detail{font-size:11px;color:#888;margin-top:2px;}
  .kredit-rez-uvolnit{background:none;border:1px solid #DDD;border-radius:6px;padding:4px 10px;font-size:11px;color:#888;cursor:pointer;}
  .kredit-rez-uvolnit:hover{background:#FFF;border-color:#999;color:#333;}
  /* Modaly */
  .kredit-modal-ov{position:fixed;inset:0;background:rgba(20,5,45,0.65);z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px;}
  .kredit-modal-box{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,0.35);}
  .kredit-modal-hdr{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between;}
  .kredit-modal-title{font-size:17px;font-weight:700;color:#1A0A2E;}
  .kredit-modal-close{background:none;border:none;font-size:22px;color:#AAA;cursor:pointer;padding:0 4px;line-height:1;}
  .kredit-modal-close:hover{color:#333;}
  .kredit-modal-body{padding:16px 24px 24px;}
  .kredit-modal-note{font-size:12px;color:#888;margin-bottom:16px;}
  .kredit-pkg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;}
  .kredit-pkg{border:2px solid #EEE8FF;border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .2s;position:relative;}
  .kredit-pkg:hover,.kredit-pkg.selected{border-color:#C9A84C;background:#FDF9EE;}
  .kredit-pkg.selected::after{content:'✓';position:absolute;top:8px;right:10px;color:#C9A84C;font-weight:700;font-size:14px;}
  .kredit-pkg-kc{font-size:16px;font-weight:700;color:#1A0A2E;}
  .kredit-pkg-kreditu{font-size:12px;color:#555;margin-top:2px;}
  .kredit-pkg-bonus{font-size:11px;color:#C9A84C;font-weight:600;margin-top:4px;}
  .kredit-custom-row{margin-bottom:14px;}
  .kredit-custom-label{display:block;font-size:12px;color:#888;margin-bottom:6px;}
  .kredit-custom-inp{width:100%;border:1.5px solid #DDD8F0;border-radius:10px;padding:10px 14px;font-size:14px;outline:none;box-sizing:border-box;}
  .kredit-custom-inp:focus{border-color:#C9A84C;}
  .kredit-custom-preview{font-size:12px;color:#3D1A6B;margin-top:5px;min-height:18px;}
  .kredit-dobit-summary{background:#F8F5FF;border-radius:10px;padding:12px 16px;margin-bottom:14px;}
  .kredit-dobit-sum-row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;}
  .kredit-bonus-row{color:#C9A84C;}
  .kredit-sum-total{font-size:15px;font-weight:700;color:#3D1A6B;border-top:1px solid #DDD8F0;margin-top:6px;padding-top:8px;}
  .kredit-confirm-btn{width:100%;background:linear-gradient(135deg,#3D1A6B,#5A2D8A);color:#fff;border:none;border-radius:12px;padding:14px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;}
  .kredit-confirm-btn:disabled{opacity:.4;cursor:not-allowed;}
  .kredit-confirm-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(61,26,107,0.35);}
  .kredit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
  .kredit-form-group label{display:block;font-size:12px;color:#888;margin-bottom:5px;}
  .kredit-inp{width:100%;border:1.5px solid #DDD8F0;border-radius:10px;padding:10px 14px;font-size:14px;outline:none;box-sizing:border-box;}
  .kredit-inp:focus{border-color:#C9A84C;}
  .kredit-cena-info{background:#FFF8EC;border:1px solid rgba(201,168,76,0.3);border-radius:8px;padding:10px 14px;font-size:13px;color:#7A6000;margin-bottom:14px;}
  /* Admin kreditní tabulka */
  .adm-kredit-row{display:grid;grid-template-columns:1fr 80px 80px 80px 90px 90px;gap:8px;padding:10px 14px;border-radius:8px;background:#F8F5FF;margin-bottom:6px;font-size:13px;align-items:center;}
  .adm-kredit-row:hover{background:#EEE8FF;}
  .adm-kredit-firma{font-weight:600;color:#1A0A2E;}
  .adm-kredit-email{font-size:11px;color:#888;}
  .adm-kredit-num{text-align:right;font-weight:700;}
  .adm-kredit-num.green{color:#2D9A5A;}
  .adm-kredit-num.gold{color:#C9A84C;}
  .adm-kredit-num.red{color:#E24B4A;}
  @media(max-width:600px){
    .kredit-pkg-grid{grid-template-columns:1fr 1fr;}
    .kredit-form-grid{grid-template-columns:1fr;}
    .kredit-mini-stats{grid-template-columns:1fr 1fr;}
    .adm-kredit-row{grid-template-columns:1fr 1fr;}
  }

  /* ══ Cookie Consent ══ */
  #cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:99998;background:#fff;border-top:3px solid #3D1A6B;box-shadow:0 -4px 24px rgba(61,26,107,.12);padding:16px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  .ck-left{flex:1;min-width:280px;display:flex;align-items:flex-start;gap:10px;}
  .ck-left-text{flex:1;}
  .ck-title{font-size:14px;font-weight:700;color:#1A0A2E;margin-bottom:3px;}
  .ck-desc{font-size:12px;color:#6B5B8A;line-height:1.5;margin-bottom:4px;}
  .ck-more{font-size:12px;color:#3D1A6B;text-decoration:none;font-weight:600;}
  .ck-more:hover{text-decoration:underline;}
  .ck-btns{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;}
  .ck-btn-odmit{background:#fff;border:1.5px solid #C5B8E0;color:#6B5B8A;padding:9px 16px;border-radius:8px;font-size:13px;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:all .2s;white-space:nowrap;}
  .ck-btn-odmit:hover{border-color:#3D1A6B;color:#3D1A6B;}
  .ck-btn-prizp{background:#F8F6FF;border:1.5px solid #3D1A6B;color:#3D1A6B;padding:9px 16px;border-radius:8px;font-size:13px;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:all .2s;white-space:nowrap;}
  .ck-btn-prizp:hover{background:#EEE8FF;}
  .ck-btn-prijm{background:#3D1A6B;color:#fff;border:none;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;white-space:nowrap;}
  .ck-btn-prijm:hover{background:#2D1254;}

  #cookie-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99999;display:none;align-items:center;justify-content:center;padding:16px;}
  #cookie-modal-overlay.open{display:flex;}
  .ck-modal{background:#fff;border-radius:16px;max-width:520px;width:calc(100% - 32px);max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px rgba(0,0,0,.2);position:relative;}
  .ck-modal-head{background:#3D1A6B;border-radius:16px 16px 0 0;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;}
  .ck-modal-head-title{font-size:16px;font-weight:700;color:#fff;}
  .ck-modal-close{background:none;border:none;color:rgba(255,255,255,.7);font-size:22px;cursor:pointer;line-height:1;padding:0 4px;transition:color .2s;}
  .ck-modal-close:hover{color:#fff;}
  .ck-modal-body{padding:24px;}
  .ck-section{margin-bottom:0;}
  .ck-section-hr{border:none;border-top:1px solid #E8E0F5;margin:16px 0;}
  .ck-section-row{display:flex;align-items:flex-start;gap:12px;}
  .ck-section-info{flex:1;}
  .ck-section-name{font-size:14px;font-weight:600;color:#1A0A2E;margin-bottom:4px;}
  .ck-section-desc{font-size:12px;color:#6B5B8A;line-height:1.55;margin-bottom:5px;}
  .ck-section-basis{font-size:11px;color:#a07cc5;font-weight:600;}
  .ck-section-detail{font-size:11px;color:#8B7BA0;line-height:1.5;margin-top:6px;}
  /* Toggle switch */
  .ck-toggle{position:relative;width:40px;height:22px;flex-shrink:0;margin-top:2px;}
  .ck-toggle input{opacity:0;width:0;height:0;}
  .ck-toggle-slider{position:absolute;inset:0;background:#C5B8E0;border-radius:22px;cursor:pointer;transition:background .2s;}
  .ck-toggle-slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s;}
  .ck-toggle input:checked+.ck-toggle-slider{background:#3D1A6B;}
  .ck-toggle input:checked+.ck-toggle-slider:before{transform:translateX(18px);}
  .ck-toggle input:disabled+.ck-toggle-slider{background:#9B8CBF;cursor:not-allowed;opacity:.7;}
  .ck-toggle-always{font-size:10px;font-weight:700;color:#9B8CBF;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;margin-top:4px;text-align:center;}
  .ck-modal-footer{border-top:1px solid #E8E0F5;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}

  /* Patička */
  .ps-footer{background:#3D1A6B;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;width:100%;align-self:stretch;margin-top:48px;flex-wrap:wrap;gap:12px;}
  .ps-footer-left{display:flex;flex-direction:column;gap:6px;}
  .ps-footer-brand{display:flex;align-items:center;gap:8px;}
  .ps-footer-brand-name{font-family:'DM Serif Display',serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#C9A84C;}
  .ps-footer-copy{font-size:11px;color:rgba(255,255,255,0.4);}
  .ps-footer-links{display:flex;align-items:center;gap:24px;}
  .ps-footer-link{font-size:12px;color:rgba(255,255,255,0.6);cursor:pointer;text-decoration:none;transition:color .2s;}
  .ps-footer-link:hover{color:#C9A84C;}

/* ── Product slider smooth slide ── */
.ps-slider-track{display:flex;transition:transform 600ms cubic-bezier(0.4,0,0.2,1);}
.ps-slider-page{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;flex-shrink:0;}
/* ── Product slider hex controls ── */
.ps-slider-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:12px 0;width:100%;max-width:860px;}
.hex-arrow{background:none;border:none;padding:0;cursor:pointer;opacity:.9;transition:opacity .2s,transform .15s;flex-shrink:0;}
.hex-arrow:hover{opacity:1;transform:scale(1.12);}
.hex-arrow:active{transform:scale(.95);}
.hex-arrow:disabled{opacity:.3;cursor:not-allowed;pointer-events:none;}
.ps-slider-dots{display:flex;align-items:center;gap:8px;flex:1;justify-content:center;}
.ps-slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(61,26,107,0.22);border:none;padding:0;cursor:pointer;transition:background .2s,transform .15s;}
.ps-slider-dot.active{background:#3D1A6B;transform:scale(1.25);}
.ps-slider-dot:hover{background:rgba(61,26,107,0.5);}


  /* ══ REGISTRATION ══ */
  #registration{position:fixed;top:0;left:0;right:0;bottom:0;background:#F0EBF9;z-index:1001;display:none;flex-direction:column;overflow-y:auto;}  /* VN-LR-10: brand bg (po HTML fix nemá pod sebou product-select) */
  .rg-header{background:#3D1A6B;border-bottom:1px solid rgba(201,168,76,0.2);padding:14px 48px;display:flex;align-items:center;gap:12px;flex-shrink:0;}
  /* step indicator */
  .rg-steps{display:flex;align-items:flex-start;justify-content:center;padding:24px 12px 4px;gap:0;flex-shrink:0;}
  .rg-step-item{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:52px;}
  .rg-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;transition:opacity .15s;}
  .rg-dot.done{background:#C9A84C;color:#fff;}
  .rg-dot.active{background:#3D1A6B;color:#fff;}
  .rg-dot.future{background:#E8E0F5;color:#6B5B8A;}
  .rg-step-lbl{font-size:9px;font-weight:600;letter-spacing:.2px;text-align:center;white-space:nowrap;}
  .rg-step-lbl.done{color:#C9A84C;}
  .rg-step-lbl.active{color:#3D1A6B;font-weight:700;}
  .rg-step-lbl.future{color:#C5B8E0;}
  .rg-step-item.done{cursor:pointer;}
  .rg-step-item.done:hover .rg-dot{opacity:.75;}
  .rg-step-item.future{cursor:not-allowed;}
  .rg-conn{width:24px;height:2px;margin-top:11px;flex-shrink:0;}
  .rg-conn.done{background:#C9A84C;}
  .rg-conn.future{background:#E8E0F5;}
  /* body & card */
  .rg-body{flex:1;display:flex;justify-content:center;padding:20px 16px 32px;}
  .rg-card{background:#fff;border:1px solid #E8E0F5;border-radius:16px;width:100%;max-width:520px;padding:32px;box-shadow:0 4px 24px rgba(61,26,107,0.06);align-self:flex-start;}
  .rg-title{font-family:'DM Serif Display',serif;font-size:20px;color:#1A0A2E;margin-bottom:4px;}
  .rg-sub{font-size:13px;color:#6B5B8A;margin-bottom:22px;}
  /* type tiles */
  .rg-types{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px;}
  .rg-type{border:1px solid #E8E0F5;background:#fff;border-radius:10px;padding:14px 10px;text-align:center;cursor:pointer;transition:all .2s;}
  .rg-type:hover:not(.rg-active){border-color:#C5B8E0;background:#FAF8FF;}
  .rg-type.rg-active{border:2px solid #3D1A6B!important;background:#F0E8FF;}
  .rg-type svg{width:22px;height:22px;display:block;margin:0 auto 6px;stroke:#6B5B8A;stroke-width:1.5;fill:none;}
  .rg-type.rg-active svg{stroke:#3D1A6B;}
  .rg-type-name{font-size:13px;font-weight:600;color:#1A0A2E;}
  .rg-type-code{font-size:10px;color:#6B5B8A;margin-top:2px;}
  /* ARES block */
  .rg-ares{background:#F8F6FF;border:1px solid #C9A84C;border-radius:10px;padding:16px;margin-bottom:20px;}
  .rg-ares-lbl{font-size:10px;font-weight:600;letter-spacing:1px;color:#1A0A2E;text-transform:uppercase;margin-bottom:10px;}
  .rg-ares-row{display:flex;gap:8px;margin-bottom:8px;}
  .rg-ares-row input{flex:1;background:#fff;border:1px solid #C5B8E0;border-radius:8px;padding:9px 12px;font-size:14px;color:#1A0A2E;font-family:inherit;outline:none;}
  .rg-ares-row input:focus{border-color:#3D1A6B;}
  .rg-ares-res{font-size:12px;padding:8px 10px;border-radius:6px;line-height:1.5;display:none;}
  /* form */
  .rg-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .rg-grp{margin-bottom:12px;}
  .rg-field-lbl{display:block;font-size:11px;font-weight:600;letter-spacing:1px;color:#1A0A2E;text-transform:uppercase;margin-bottom:5px;}
  .rg-inp{width:100%;background:#F8F6FF;border:1px solid #C5B8E0;border-radius:8px;padding:10px 12px;font-size:14px;color:#1A0A2E;font-family:inherit;transition:border-color .2s;box-sizing:border-box;}
  .rg-inp:focus{outline:none;border-color:#3D1A6B;}
  .rg-inp.rg-valid{border-color:#2D9A5A;}
  .rg-inp.rg-error{border-color:#E24B4A;}
  .rg-wrap{position:relative;}
  .rg-wrap .rg-inp{padding-right:30px;}
  .rg-ico{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:13px;display:none;}
  .rg-ico.show{display:block;}
  .rg-ico.ok{color:#2D9A5A;}
  .rg-ico.bad{color:#E24B4A;}
  .rg-errmsg{font-size:11px;color:#E24B4A;margin-top:3px;display:none;}
  .rg-errmsg.show{display:block;}
  .rg-okmsg{font-size:11px;color:#2D9A5A;margin-top:3px;display:none;}
  .rg-okmsg.show{display:block;}
  .rg-phone-row{display:flex;gap:8px;}
  select.rg-phone-code{width:92px;flex-shrink:0;background:#F8F6FF;border:1px solid #C5B8E0;border-radius:8px;padding:10px 6px;font-size:13px;color:#1A0A2E;font-family:inherit;cursor:pointer;}
  select.rg-phone-code:focus{outline:none;border-color:#3D1A6B;}
  /* terms & submit */
  .rg-terms{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;font-size:13px;color:#1A0A2E;line-height:1.5;}
  .rg-terms input{margin-top:2px;flex-shrink:0;accent-color:#3D1A6B;width:16px;height:16px;cursor:pointer;}
  .rg-terms a{color:#3D1A6B;font-weight:600;}
  .rg-errbox{background:#FCEBEB;border:1px solid #F09595;border-radius:8px;padding:12px 14px;color:#A32D2D;font-size:13px;margin-bottom:14px;display:none;}
  .rg-errbox.show{display:block;}
  .rg-submit{width:100%;background:#3D1A6B;color:#fff;border:none;border-radius:10px;padding:14px;font-size:15px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;margin-bottom:12px;}
  .rg-submit:hover{background:#5a2a9e;}
  .rg-login{text-align:center;font-size:13px;color:#6B5B8A;}
  .rg-login a{color:#3D1A6B;font-weight:600;}
  .rg-footer-bar{text-align:center;padding:14px;font-size:11px;color:#6B5B8A;flex-shrink:0;}
  /* course placeholder */
  #course-ph{position:fixed;inset:0;background:#F0EBF9;z-index:1003;display:none;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:32px;}  /* VN-LR-14: brand bg (po HTML fix už sibling body) */

  /* ══ AML TEST ══ */
  #aml-test{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  .aml-test-body{flex:1;overflow-y:auto;padding:0 0 40px;}
  .aml-q-wrap{padding:24px 48px 0;}
  .aml-q-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
  .aml-q-section-badge{background:#3D1A6B;color:#E8D5FF;border-radius:20px;padding:4px 14px;font-size:12px;font-weight:600;border:1px solid rgba(201,168,76,0.4);}
  .aml-q-bubbles{display:flex;gap:6px;flex-wrap:wrap;padding:0 48px 8px;}
  .aml-q-bubble{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid transparent;}
  .aml-q-bubble.unanswered{background:#3D1A6B;color:#E8D5FF;}
  .aml-q-bubble.answered{background:#C9A84C;color:#1A0A2E;}
  .aml-q-bubble.current{border-color:#C9A84C;}
  .aml-q-nav{display:flex;align-items:center;justify-content:space-between;padding:0 48px;margin-top:12px;}
  .aml-q-nav-btn{background:transparent;border:1px solid rgba(201,168,76,0.4);color:#C9A84C;padding:8px 16px;border-radius:8px;font-size:13px;font-family:'IBM Plex Sans',sans-serif;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;}
  .aml-q-nav-btn:hover{background:rgba(201,168,76,0.1);}
  .aml-q-nav-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none;}
  .aml-q-card{background:#2D1654;border-radius:14px;border:1px solid rgba(201,168,76,0.3);padding:22px 24px;margin-bottom:14px;}
  .aml-q-num{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#C9A84C;margin-bottom:8px;}
  .aml-q-text{font-size:15px;font-weight:600;color:#E8D5FF;line-height:1.5;margin-bottom:16px;}
  .aml-q-options{display:flex;flex-direction:column;gap:8px;}
  .aml-q-opt{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:9px;border:1.5px solid rgba(201,168,76,0.3);cursor:pointer;transition:all .2s;font-size:14px;color:#E8D5FF;line-height:1.4;background:#3D1A6B;}
  .aml-q-opt:hover{border-color:#C9A84C;background:#4A2080;}
  .aml-q-opt input[type=radio],.aml-q-opt input[type=checkbox]{accent-color:#C9A84C;margin-top:2px;flex-shrink:0;width:16px;height:16px;cursor:pointer;}
  .aml-q-opt.selected{border-color:#C9A84C;background:#4A2080;border-width:2px;}
  .aml-q-opt.correct{border-color:#97C459!important;background:#1A3A1A!important;color:#c6eea0!important;}
  .aml-q-opt.wrong{border-color:#F09595!important;background:#3A1A1A!important;color:#ffd0d0!important;}
  .aml-q-opt.missed{border-color:rgba(201,168,76,0.5)!important;background:#2D2000!important;}
  .aml-q-opt.disabled{pointer-events:none;}
  .aml-q-opt-icon{font-size:14px;margin-left:auto;flex-shrink:0;}
  .aml-q-explanation{background:#1A0A2E;border-left:4px solid #C9A84C;border-radius:0 8px 8px 0;padding:12px 16px;margin-top:10px;font-size:13px;color:#E8D5FF;line-height:1.6;display:none;}
  .aml-q-explanation.show{display:block;}
  .aml-q-explanation strong{color:#C9A84C;}
  .aml-sec-footer{padding:16px 48px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
  .aml-sec-score{font-size:14px;color:#E8D5FF;font-weight:600;display:none;background:#2D1654;border:1px solid rgba(201,168,76,0.4);border-radius:8px;padding:8px 16px;}
  .aml-sec-score.show{display:block;}
  .aml-s3-wrap{padding:24px 48px 0;}
  .aml-s3-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;}
  .aml-s3-col-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#C9A84C;margin-bottom:10px;}
  .aml-s3-terms{display:flex;flex-direction:column;gap:8px;}
  .aml-s3-term{background:#3D1A6B;border:2px solid #C9A84C;border-radius:9px;padding:11px 14px;font-size:14px;font-weight:600;color:#E8D5FF;cursor:grab;user-select:none;transition:all .2s;display:flex;align-items:center;gap:8px;}
  .aml-s3-term:active{cursor:grabbing;opacity:.8;}
  .aml-s3-term.dragging{opacity:.5;}
  .aml-s3-term.placed{opacity:.3;pointer-events:none;background:#2D1654;border-color:rgba(201,168,76,0.2);}
  .aml-s3-term.selected-mobile{background:#C9A84C;color:#1A0A2E;}
  .aml-s3-defs{display:flex;flex-direction:column;gap:8px;}
  .aml-s3-def{background:#1A0A2E;border:2px dashed rgba(201,168,76,0.5);border-radius:9px;padding:11px 14px;font-size:13px;color:#E8D5FF;line-height:1.5;min-height:60px;transition:all .2s;display:flex;align-items:center;justify-content:space-between;gap:8px;}
  .aml-s3-def.drag-over{border-color:#C9A84C;background:#2D1654;}
  .aml-s3-def.correct{border:2px solid #97C459!important;background:#1A3A1A!important;color:#c6eea0!important;}
  .aml-s3-def.wrong{border:2px solid #F09595!important;background:#3A1A1A!important;}
  .aml-s3-def-placed{font-size:13px;font-weight:600;color:#97C459;white-space:nowrap;display:none;}
  .aml-s3-def.correct .aml-s3-def-placed{display:inline;}
  .aml-s3-success{background:#1A3A1A;border:1px solid #97C459;border-radius:10px;padding:14px 18px;font-size:14px;color:#97C459;font-weight:600;display:none;align-items:center;gap:8px;margin-top:12px;}
  .aml-s3-success.show{display:flex;}
  .aml-q-pbar-wrap{padding:8px 48px 0;}
  .aml-q-pbar{height:4px;background:#3D1A6B;border-radius:2px;}
  .aml-q-pbar-fill{height:100%;background:#C9A84C;border-radius:2px;transition:width .3s;}
  .aml-result-wrap{padding:24px 48px 0;}
  .aml-result-card{border-radius:14px;padding:28px;margin-bottom:16px;}
  .aml-result-title{font-family:'DM Serif Display',serif;font-size:28px;margin-bottom:8px;}
  .aml-result-score{font-size:36px;font-weight:700;margin:12px 0 4px;}
  .aml-result-pct{font-size:15px;opacity:.85;margin-bottom:16px;}
  .aml-result-breakdown{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
  .aml-result-seg{background:rgba(255,255,255,0.08);border-radius:8px;padding:10px 16px;font-size:13px;text-align:center;}
  .aml-result-seg strong{display:block;font-size:18px;}
  #aml-incomplete-modal{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:3200;display:none;align-items:center;justify-content:center;padding:16px;}
  #aml-incomplete-modal.open{display:flex;}
  .aml-incomplete-card{background:#2D1654;border:2px solid #C9A84C;border-radius:16px;padding:32px;max-width:400px;width:100%;text-align:center;}
  .aml-incomplete-icon{color:#C9A84C;margin-bottom:14px;display:flex;justify-content:center;}
  .aml-incomplete-title{font-family:'DM Serif Display',serif;font-size:20px;color:#C9A84C;margin-bottom:8px;}
  .aml-incomplete-text{font-size:13px;color:#E8D5FF;line-height:1.7;margin-bottom:20px;}
  .aml-incomplete-btn{background:#C9A84C;color:#1A0A2E;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;width:100%;}
  @keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}100%{transform:translateY(120vh) rotate(720deg);opacity:0}}
  .confetti-piece{position:fixed;width:8px;height:8px;border-radius:2px;pointer-events:none;z-index:8000;animation:confetti-fall linear forwards;}
  #aml-cert-modal{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;}
  #aml-cert-modal.open{display:flex;}
  .aml-cert-card{background:#fff;border-radius:16px;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 32px 64px rgba(0,0,0,0.3);}
  .aml-cert-doc{font-family:'IBM Plex Sans',sans-serif;}
  .aml-cert-header{background:linear-gradient(135deg,#1A0A2E 0%,#3D1A6B 100%);padding:28px 36px;border-radius:16px 16px 0 0;}
  .aml-cert-logos{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
  .aml-cert-logo-company{max-height:40px;max-width:120px;object-fit:contain;border-radius:4px;}
  .aml-cert-badge{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#C9A84C;margin-bottom:6px;}
  .aml-cert-title{font-family:'DM Serif Display',serif;font-size:26px;color:#fff;margin-bottom:4px;}
  .aml-cert-subtitle{font-size:12px;color:rgba(255,255,255,0.6);letter-spacing:1px;}
  .aml-cert-body{padding:24px 36px;}
  .aml-cert-recipient{margin-bottom:18px;}
  .aml-cert-recip-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:4px;}
  .aml-cert-recip-name{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;}
  .aml-cert-recip-email{font-size:13px;color:#6B5B8A;}
  .aml-cert-score-box{background:linear-gradient(135deg,#F0E8FF,#E8E0F5);border-radius:12px;padding:16px 20px;margin-bottom:18px;}
  .aml-cert-score-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#3D1A6B;margin-bottom:10px;font-weight:700;}
  .aml-cert-score-main{font-size:32px;font-weight:700;color:#3D1A6B;font-family:'DM Serif Display',serif;}
  .aml-cert-score-sub{font-size:13px;color:#6B5B8A;margin-top:2px;}
  .aml-cert-sections{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
  .aml-cert-sec-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#1A0A2E;}
  .aml-cert-sec-check{color:#2D9A5A;}
  .aml-cert-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
  .aml-cert-meta-item{background:#F8F6FF;border-radius:8px;padding:10px 12px;}
  .aml-cert-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:3px;}
  .aml-cert-meta-value{font-size:13px;font-weight:600;color:#1A0A2E;}
  .aml-cert-footer{border-top:1px solid #E8E0F5;padding:16px 36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6B5B8A;}
  .aml-cert-actions{padding:16px 24px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #E8E0F5;}
  /* ══ AML KURZ ══ */
  #aml-course{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  /* ══ KYBER KURZ ══ */
  #kyber-course{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  #kyber-test{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  #bozp-course{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  #bozp-test{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  #kyber-locked-modal{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:3100;display:none;align-items:center;justify-content:center;padding:16px;}
  #kyber-locked-modal.open{display:flex;}
  #kyber-cert-modal{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;}
  #kyber-cert-modal.open{display:flex;}
  #kyber-incomplete-modal{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:3200;display:none;align-items:center;justify-content:center;padding:16px;}
  #kyber-incomplete-modal.open{display:flex;}
  #bozp-locked-modal{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:3100;display:none;align-items:center;justify-content:center;padding:16px;}
  #bozp-locked-modal.open{display:flex;}
  #bozp-cert-modal{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;}
  #bozp-cert-modal.open{display:flex;}
  #bozp-incomplete-modal{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:3200;display:none;align-items:center;justify-content:center;padding:16px;}
  #bozp-incomplete-modal.open{display:flex;}
  #ridici-course{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  #ridici-test{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  #ridici-locked-modal{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:3100;display:none;align-items:center;justify-content:center;padding:16px;}
  #ridici-locked-modal.open{display:flex;}
  #ridici-cert-modal{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;}
  #ridici-cert-modal.open{display:flex;}
  #ridici-incomplete-modal{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:3200;display:none;align-items:center;justify-content:center;padding:16px;}
  #ridici-incomplete-modal.open{display:flex;}
  #pozarni-course{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  #pozarni-test{position:fixed;inset:0;background:#1A0A2E;z-index:1002;display:none;flex-direction:column;}
  #pozarni-locked-modal{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:3100;display:none;align-items:center;justify-content:center;padding:16px;}
  #pozarni-locked-modal.open{display:flex;}
  #pozarni-cert-modal{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px;}
  #pozarni-cert-modal.open{display:flex;}
  #pozarni-incomplete-modal{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:3200;display:none;align-items:center;justify-content:center;padding:16px;}
  #pozarni-incomplete-modal.open{display:flex;}
  .aml-header{background:#3D1A6B;border-bottom:1px solid rgba(201,168,76,0.2);padding:14px 48px;display:flex;align-items:center;gap:12px;flex-shrink:0;}
  .aml-header-back{background:transparent;border:1px solid rgba(201,168,76,0.4);color:#C9A84C;padding:7px 14px;border-radius:8px;font-size:13px;font-family:'IBM Plex Sans',sans-serif;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;margin-left:auto;}
  .aml-header-back:hover{background:rgba(201,168,76,0.1);}
  .aml-body{flex:1;overflow-y:auto;padding:0 0 40px;}
  .aml-top{padding:24px 48px 0;}
  /* Krokový indikátor */
  .aml-steps{display:flex;align-items:center;justify-content:center;gap:0;padding:20px 20px 0;flex-shrink:0;}
  .aml-si{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px;}
  .aml-sdot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
  .aml-sdot.active{background:#C9A84C;color:#1A0A2E;}
  .aml-sdot.done{background:#C9A84C;color:#1A0A2E;}
  .aml-sdot.future{background:#3D1A6B;color:rgba(232,213,255,0.4);border:1px solid rgba(201,168,76,0.2);}
  .aml-slbl{font-size:10px;font-weight:500;color:rgba(232,213,255,0.5);text-align:center;}
  .aml-slbl.active{color:#C9A84C;font-weight:700;}
  .aml-sconn{flex:1;height:2px;background:#3D1A6B;margin-bottom:18px;max-width:60px;}
  .aml-sconn.done{background:#C9A84C;}
  /* Nadpis */
  .aml-course-title{font-family:'DM Serif Display',serif;font-size:28px;color:#C9A84C;margin-bottom:4px;}
  .aml-course-sub{font-size:14px;color:rgba(232,213,255,0.7);margin-bottom:20px;}
  /* Záložky */
  .aml-tabs{display:flex;gap:6px;margin-bottom:0;flex-wrap:wrap;}
  .aml-tab{padding:9px 18px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;font-family:'IBM Plex Sans',sans-serif;background:#3D1A6B;color:#E8D5FF;transition:all .2s;position:relative;display:flex;align-items:center;gap:7px;}
  .aml-tab.active{background:#C9A84C;color:#1A0A2E;font-weight:700;}
  .aml-tab:hover:not(.active){background:#5B2D9A;color:#fff;}
  .aml-tab-check{font-size:11px;font-weight:700;display:none;}
  .aml-tab.read .aml-tab-check{display:inline;}
  .aml-tab.read:not(.active){background:#2D1654;border:1px solid rgba(201,168,76,0.4);}
  /* Progress bar */
  .aml-progress-wrap{padding:12px 48px 0;}
  .aml-progress-label{font-size:12px;color:#C9A84C;margin-bottom:6px;font-weight:500;}
  .aml-progress-bar{height:7px;background:#3D1A6B;border-radius:4px;overflow:hidden;}
  .aml-progress-fill{height:100%;background:#C9A84C;border-radius:4px;transition:width .4s ease;}
  /* Obsah kapitol */
  .aml-module{display:none;padding:24px 48px 0;}
  .aml-module.active{display:block;}
  .aml-mod-title{font-family:'DM Serif Display',serif;font-size:22px;color:#C9A84C;margin-bottom:16px;}
  .aml-intro{font-size:14px;color:#E8D5FF;background:#2D1654;border-radius:12px;padding:18px 20px;margin-bottom:20px;line-height:1.8;border-left:4px solid #C9A84C;}
  /* 3 fáze */
  .aml-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
  .aml-phase{background:#3D1A6B;border-radius:12px;padding:20px;border-left:4px solid #C9A84C;}
  .aml-phase-icon{color:#C9A84C;margin-bottom:10px;}
  .aml-phase-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#C9A84C;margin-bottom:4px;}
  .aml-phase-sub{font-size:10px;color:rgba(201,168,76,0.6);margin-bottom:8px;font-style:italic;}
  .aml-phase-text{font-size:13px;color:#E8D5FF;line-height:1.6;}
  /* Karty */
  .aml-card{border-radius:12px;padding:18px 20px;margin-bottom:16px;}
  .aml-card-gold{background:#C9A84C;color:#1A0A2E;border:none;}
  .aml-card-dark-red{background:#7B1010;border:1px solid #F09595;color:#fff;}
  .aml-card-dark-blue{background:#0A2D5C;border:1px solid #378ADD;color:#B5D4F4;}
  .aml-card-dark-orange{background:#7B4A10;border:none;color:#fff;}
  .aml-card-dark-green{background:#1A5C1A;border:none;color:#fff;}
  .aml-card-purple{background:#3D1A6B;border:1px solid #C9A84C;color:#E8D5FF;}
  .aml-card-tipping{background:#7B1010;border:2px solid #E24B4A;color:#fff;}
  .aml-card-title{font-size:13px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:6px;}
  .aml-card-gold .aml-card-title{color:#1A0A2E;}
  .aml-card-text{font-size:13px;line-height:1.75;}
  /* Section titles */
  .aml-section-title{font-size:15px;font-weight:700;color:#C9A84C;margin:22px 0 12px;display:flex;align-items:center;gap:8px;}
  /* Povinné osoby */
  .aml-persons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px;}
  .aml-person{display:flex;align-items:center;gap:10px;background:#3D1A6B;border:1px solid rgba(201,168,76,0.3);border-radius:10px;padding:12px 14px;font-size:13px;color:#E8D5FF;}
  .aml-person-icon{color:#C9A84C;flex-shrink:0;}
  /* Timeline */
  .aml-timeline{position:relative;padding-left:26px;margin-bottom:20px;}
  .aml-timeline::before{content:'';position:absolute;left:7px;top:0;bottom:0;width:2px;background:#C9A84C;opacity:.4;}
  .aml-tl-item{position:relative;padding-bottom:14px;font-size:13px;color:#E8D5FF;line-height:1.5;}
  .aml-tl-item::before{content:'';position:absolute;left:-22px;top:5px;width:10px;height:10px;border-radius:50%;background:#C9A84C;box-shadow:0 0 0 3px rgba(201,168,76,0.2);}
  /* Tabulka */
  .aml-table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:13px;}
  .aml-table th{background:#C9A84C;color:#1A0A2E;padding:10px 14px;text-align:left;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.5px;}
  .aml-table th:first-child{border-radius:8px 0 0 0;}
  .aml-table th:last-child{border-radius:0 8px 0 0;}
  .aml-table td{padding:9px 14px;border-bottom:1px solid rgba(201,168,76,0.15);color:#E8D5FF;}
  .aml-table tr:last-child td{border-bottom:none;}
  .aml-table tr:nth-child(odd) td{background:#3D1A6B;}
  .aml-table tr:nth-child(even) td{background:#2D1654;}
  /* 2 karty vedle sebe */
  .aml-two-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}
  /* Red flags */
  .aml-flags{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;}
  .aml-flag{background:#3D0A0A;border-left:4px solid #E24B4A;border-radius:10px;padding:14px;font-size:13px;color:#FFD5D5;line-height:1.5;display:flex;gap:8px;}
  /* Kroky postupu */
  .aml-steps-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
  .aml-step-item{display:flex;align-items:flex-start;gap:12px;background:#3D1A6B;border-radius:10px;padding:14px;}
  .aml-step-num{width:30px;height:30px;border-radius:50%;background:#C9A84C;color:#1A0A2E;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
  .aml-step-text{font-size:13px;color:#E8D5FF;line-height:1.5;padding-top:5px;}
  /* Check list */
  .aml-checklist{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
  .aml-check-item{display:flex;align-items:flex-start;gap:10px;background:#3D1A6B;border:1px solid rgba(201,168,76,0.35);border-radius:9px;padding:12px 14px;font-size:13px;color:#E8D5FF;line-height:1.5;}
  .aml-check-icon{color:#C9A84C;flex-shrink:0;margin-top:1px;}
  /* CTA wrap */
  .aml-cta-wrap{padding:24px 48px 0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
  .aml-cta-btn{padding:14px 28px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;border:none;font-family:'IBM Plex Sans',sans-serif;transition:all .2s;display:inline-flex;align-items:center;gap:8px;}
  .aml-cta-btn.ready{background:#C9A84C;color:#1A0A2E;}
  .aml-cta-btn.ready:hover{background:#b8923e;transform:translateY(-1px);}
  .aml-cta-btn.locked{background:#3D1A6B;color:#6B5B8A;cursor:pointer;}
  .aml-cta-hint{font-size:13px;color:rgba(232,213,255,0.5);}
  /* Velké číslo */
  .aml-big-num{font-family:'DM Serif Display',serif;font-size:48px;color:rgba(26,10,46,0.25);line-height:1;float:right;margin:-4px 0 4px 12px;font-weight:900;overflow:hidden;max-width:60px;}
  /* Modal "nejprve prostudujte" */
  #aml-locked-modal{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:3100;display:none;align-items:center;justify-content:center;padding:16px;}
  #aml-locked-modal.open{display:flex;}
  .aml-locked-card{background:#2D1654;border:2px solid #C9A84C;border-radius:16px;padding:32px;max-width:400px;width:100%;text-align:center;}
  .aml-locked-icon{color:#C9A84C;margin-bottom:14px;display:flex;justify-content:center;}
  .aml-locked-title{font-family:'DM Serif Display',serif;font-size:20px;color:#C9A84C;margin-bottom:8px;}
  .aml-locked-text{font-size:13px;color:#E8D5FF;line-height:1.7;margin-bottom:20px;}
  .aml-locked-btn{background:#C9A84C;color:#1A0A2E;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:all .2s;width:100%;}
  .aml-locked-btn:hover{background:#b8923e;}

  /* ══ AUTH MODAL ══ */
  #auth-modal{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:2000;display:none;align-items:center;justify-content:center;padding:16px;}
  #auth-modal.open{display:flex;}
  .auth-card{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:420px;position:relative;box-shadow:0 24px 48px rgba(0,0,0,0.2);}
  .auth-close{position:absolute;top:14px;right:16px;background:none;border:none;cursor:pointer;color:#6B5B8A;display:flex;align-items:center;padding:4px;border-radius:6px;transition:all .15s;}
  .auth-close:hover{color:#3D1A6B;background:#F3EEFF;}
  .auth-logo{text-align:center;margin-bottom:16px;}
  .auth-title{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;margin-bottom:6px;text-align:center;}
  .auth-sub{font-size:13px;color:#6B5B8A;margin-bottom:22px;text-align:center;line-height:1.5;}
  .auth-label{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#6B5B8A;margin-bottom:5px;display:block;}
  .auth-field{position:relative;margin-bottom:16px;}
  .auth-input{width:100%;padding:11px 38px 11px 13px;border:1.5px solid #C5B8E0;border-radius:10px;font-size:14px;font-family:'IBM Plex Sans',sans-serif;color:#1A0A2E;outline:none;transition:all .2s;}
  .auth-input:focus{border-color:#3D1A6B;box-shadow:0 0 0 3px rgba(61,26,107,0.12);}
  .auth-input.valid{border-color:#2D9A5A;}
  .auth-input.invalid{border-color:#E24B4A;}
  .auth-ico{position:absolute;right:11px;top:50%;transform:translateY(-50%);display:none;align-items:center;pointer-events:none;}
  .auth-ico.show{display:flex;}
  .auth-ico.ok{color:#2D9A5A;}
  .auth-ico.bad{color:#E24B4A;}
  .auth-eye{position:absolute;right:9px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6B5B8A;display:flex;align-items:center;padding:2px;transition:color .15s;}
  .auth-eye:hover{color:#3D1A6B;}
  .auth-forgot{display:block;text-align:right;font-size:12px;color:#3D1A6B;font-weight:500;cursor:pointer;margin-top:-10px;margin-bottom:20px;background:none;border:none;font-family:inherit;padding:0;}
  .auth-forgot:hover{text-decoration:underline;}
  .auth-btn{width:100%;padding:13px;background:#3D1A6B;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;margin-bottom:16px;}
  .auth-btn:hover{background:#5B2D9A;}
  .auth-footer{text-align:center;font-size:13px;color:#6B5B8A;}
  .auth-footer a{color:#3D1A6B;font-weight:600;cursor:pointer;text-decoration:none;}
  .auth-footer a:hover{text-decoration:underline;}
  .auth-success-box{background:#EAF3DE;border:1px solid #97C459;border-radius:8px;padding:12px 14px;color:#27500A;font-size:13px;line-height:1.5;margin-bottom:16px;display:none;}
  .auth-success-box.show{display:block;}
  .auth-back{background:none;border:none;cursor:pointer;color:#3D1A6B;font-size:13px;font-weight:500;display:flex;align-items:center;gap:4px;margin-bottom:16px;padding:0;font-family:inherit;}
  .auth-back:hover{text-decoration:underline;}
  /* ── Informační boxy ── */
  .rg-info-box{display:flex;align-items:flex-start;gap:10px;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.5;margin-bottom:4px;}
  .rg-info-orange{background:#FAEEDA;border:1px solid #EF9F27;color:#7A4A0A;}
  /* ── Síla hesla ── */
  .pwd-strength-wrap{display:flex;align-items:center;gap:8px;margin-top:6px;margin-bottom:2px;}
  .pwd-strength-bar{flex:1;height:4px;background:#E8E0F5;border-radius:2px;overflow:hidden;}
  .pwd-strength-fill{height:100%;border-radius:2px;transition:width .3s,background .3s;width:0;}
  .pwd-strength-lbl{font-size:11px;white-space:nowrap;min-width:40px;}
  /* ── Overlay změny hesla ── */
  #change-pwd-screen{position:fixed;inset:0;background:#1A0A2E;z-index:600;overflow-y:auto;padding:40px 16px 48px;display:none;}
  .auth-err{background:#FCEBEB;border:1px solid #F09595;border-radius:8px;padding:10px 12px;font-size:13px;color:#A32D2D;margin-bottom:12px;display:none;}
  /* Login button + user nav in ps-header / prof-header */
  .ps-login-btn{background:transparent;border:1px solid #C9A84C;color:#C9A84C;padding:8px 16px;border-radius:8px;font-size:13px;font-family:'IBM Plex Sans',sans-serif;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;}
  .ps-login-btn:hover{background:#C9A84C;color:#1A0A2E;}
  .ps-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px;}
  .ps-reg-btn{background:#C9A84C;color:#1A0A2E;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .2s ease;}
  .ps-reg-btn:hover{background:#B8962A;}
  /* Email verify screen */
  #email-verify-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:#1A0A2E;z-index:500;display:none;flex-direction:column;align-items:center;overflow-y:auto;}
  .ev-header{width:100%;padding:20px 32px;display:flex;align-items:center;flex-shrink:0;}
  .ev-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px;}
  .ev-card{background:#fff;border-radius:20px;padding:48px 40px;max-width:480px;width:100%;text-align:center;box-shadow:0 8px 40px rgba(0,0,0,0.25);}
  .ev-icon{width:88px;height:88px;border-radius:50%;background:#F0E8FF;color:#3D1A6B;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;}
  .ev-title{font-size:22px;font-weight:600;color:#1A0A2E;margin-bottom:12px;font-family:'DM Serif Display',serif;}
  .ev-sub{font-size:14px;color:#6B5B8A;line-height:1.6;margin-bottom:20px;max-width:340px;margin-left:auto;margin-right:auto;}
  .ev-info{background:#F8F6FF;border:1px solid #E8E0F5;border-radius:10px;padding:14px;font-size:12px;color:#6B5B8A;margin-bottom:20px;line-height:1.5;}
  .ev-resend-btn{background:transparent;border:1.5px solid #3D1A6B;color:#3D1A6B;padding:10px 22px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:all .2s;margin-top:4px;margin-bottom:16px;}
  .ev-resend-btn:hover:not(:disabled){background:#F0E8FF;}
  .ev-resend-btn:disabled{opacity:.5;cursor:not-allowed;}
  .ev-back{display:block;font-size:13px;color:#6B5B8A;cursor:pointer;text-decoration:none;margin-top:4px;}
  .ev-back:hover{color:#3D1A6B;}
  /* Auth modal — email not verified box */
  .auth-nevereno-box{background:#FAEEDA;border:1px solid #EF9F27;border-radius:8px;padding:12px 14px;font-size:12px;color:#7A4500;margin-bottom:12px;display:none;line-height:1.5;}
  .auth-nevereno-box button{display:block;width:100%;margin-top:8px;background:#EF9F27;color:#fff;border:none;border-radius:6px;padding:8px;font-size:12px;font-weight:600;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;}
  .auth-nevereno-box button:hover{background:#D4890F;}
  .ps-user-nav{margin-left:auto;position:relative;}
  .ps-user-btn{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.1);border:1px solid rgba(201,168,76,0.5);border-radius:8px;padding:6px 12px;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;font-size:13px;color:#C9A84C;transition:all .2s;}
  .ps-user-btn:hover{background:rgba(201,168,76,0.2);border-color:rgba(201,168,76,0.8);}
  .ps-user-avatar-sm{width:28px;height:28px;border-radius:50%;background:rgba(201,168,76,0.2);color:#C9A84C;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;font-family:'DM Serif Display',serif;border:1px solid rgba(201,168,76,0.4);}
  .ps-user-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#FFFFFF;border:1px solid #E8E0F5;border-radius:10px;box-shadow:0 8px 24px rgba(61,26,107,0.15);min-width:180px;z-index:9999;display:none;padding:8px 0;}
  .ps-user-dropdown.open{display:block;}
  .ps-ud-item{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14px;color:#1A0A2E;cursor:pointer;transition:background .15s;}
  .ps-ud-item:first-child{border-radius:10px 10px 0 0;}
  .ps-ud-item:last-child{border-radius:0 0 10px 10px;}
  .ps-ud-item:hover{background:#F8F6FF;}
  .ps-ud-item.danger{color:#E24B4A;}
  .ps-ud-item.danger:hover{background:#FCEBEB;color:#E24B4A;}
  /* ══ PROFILE SCREEN ══ */
  #profile-screen{position:fixed;inset:0;background:#F0EBF9;z-index:1001;display:none;flex-direction:column;}  /* VN-LR-9: brand bg (po HTML fix už nedědí #product-select) */
  /* Notifikace */
  .prof-notif{display:flex;align-items:flex-start;gap:11px;background:#FAEEDA;border:1px solid #EF9F27;border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:#854F0B;line-height:1.5;}
  .prof-notif svg{flex-shrink:0;color:#EF9F27;margin-top:1px;}
  .prof-notif-btn{margin-left:auto;flex-shrink:0;background:#EF9F27;color:#1A0A2E;border:none;border-radius:7px;padding:6px 13px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .2s;}
  .prof-notif-btn:hover{background:#d88b16;}
  /* Faktura tabulka v profilu */
  .prof-fa-table{width:100%;border-collapse:collapse;font-size:13px;}
  .prof-fa-table thead tr{background:#3D1A6B;}
  .prof-fa-table th{color:#fff;font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;padding:10px 14px;text-align:left;}
  .prof-fa-table th.r,.prof-fa-table td.r{text-align:right;}
  .prof-fa-table td{padding:11px 14px;border-bottom:1px solid #F0E8FF;vertical-align:middle;}
  .prof-fa-table tr:nth-child(even) td{background:#F8F6FF;}
  .prof-fa-table tr:hover td{background:#F0E8FF;transition:background .1s;}
  .prof-fa-num{color:#C9A84C;font-weight:600;}
  .prof-fa-stav{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;}
  .prof-fa-stav.zaplaceno{background:#EAF3DE;color:#27500A;border:1px solid #97C459;}
  .prof-fa-stav.cekajici{background:#FAEEDA;color:#854F0B;border:1px solid #EF9F27;}
  .prof-fa-dl-btn{background:#3D1A6B;color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;}
  .prof-fa-dl-btn:hover{background:#5B2D9A;}
  .prof-fa-sum{text-align:right;font-size:13px;color:#6B5B8A;padding:10px 14px 0;}
  /* Admin faktury — filtry */
  .adm-fa-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .adm-fa-sel{padding:7px 10px;border:1.5px solid #E4DAF5;border-radius:9px;font-size:12px;font-family:inherit;outline:none;color:#1A0A2E;background:#fff;cursor:pointer;transition:border-color .15s;}
  .adm-fa-sel:focus{border-color:#3D1A6B;}
  /* Admin faktury — summary mini-cards */
  .adm-fa-sum-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;}
  .adm-fa-sum-card{background:#fff;border-radius:14px;border:1px solid rgba(225,215,245,0.8);padding:18px 20px;box-shadow:0 1px 3px rgba(61,26,107,0.04),0 4px 12px rgba(61,26,107,0.06);display:flex;align-items:center;gap:14px;}
  .adm-fa-sum-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .adm-fa-sum-val{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;line-height:1.1;margin-bottom:3px;}
  .adm-fa-sum-lbl{font-size:11px;color:#8B7AAA;font-weight:500;}
  /* Modal */
  .adm-fa-modal-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:3000;align-items:center;justify-content:center;padding:20px;}
  .adm-fa-modal-ov.open{display:flex;}
  .adm-fa-modal{background:#fff;border-radius:16px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.25);}
  .adm-fa-modal-hdr{background:#3D1A6B;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;}
  .adm-fa-modal-title{font-family:'DM Serif Display',serif;font-size:17px;color:#fff;}
  .adm-fa-modal-close{background:transparent;border:none;color:rgba(255,255,255,0.5);font-size:22px;cursor:pointer;line-height:1;padding:0 4px;}
  .adm-fa-modal-close:hover{color:#fff;}
  .adm-fa-modal-body{padding:24px;}
  .prof-header{background:#3D1A6B;border-bottom:1px solid rgba(201,168,76,0.2);padding:16px 48px;display:flex;align-items:center;gap:12px;flex-shrink:0;position:relative;z-index:10;}
  .prof-body{flex:1;overflow-y:auto;padding:32px 48px;max-width:900px;margin:0 auto;width:100%;}
  .prof-section{background:#fff;border-radius:14px;border:1px solid #E8E0F5;padding:24px 28px;margin-bottom:20px;}
  /* Rozpracované kurzy */
  .prof-kurz-card{background:#F9F7FF;border:1px solid #E3DCF5;border-radius:12px;padding:16px 20px;margin-bottom:12px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .prof-kurz-card:last-child{margin-bottom:0;}
  .prof-kurz-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,rgba(201,168,76,.15),rgba(201,168,76,.3));display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .prof-kurz-info{flex:1;min-width:160px;}
  .prof-kurz-name{font-weight:700;font-size:15px;color:#1A0A2E;margin-bottom:4px;}
  .prof-kurz-meta{font-size:12px;color:#6B5B8A;line-height:1.5;}
  .prof-kurz-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;}
  .prof-kurz-badge.inprogress{background:#FFF3CD;color:#856404;}
  .prof-kurz-btn{background:#3D1A6B;color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:'IBM Plex Sans',sans-serif;transition:background .2s;flex-shrink:0;}
  .prof-kurz-btn:hover{background:#5A2D9E;}
  .prof-section-title{font-family:'DM Serif Display',serif;font-size:17px;color:#1A0A2E;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
  .prof-info-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
  .prof-avatar{width:64px;height:64px;border-radius:50%;background:#3D1A6B;color:#C9A84C;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0;font-family:'DM Serif Display',serif;letter-spacing:1px;}
  .prof-name{font-family:'DM Serif Display',serif;font-size:20px;color:#1A0A2E;}
  .prof-email{font-size:13px;color:#6B5B8A;margin-top:2px;}
  .prof-type-badge{display:inline-flex;align-items:center;background:#F0E8FF;color:#3D1A6B;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600;margin-top:6px;}
  .prof-edit-btn{margin-left:auto;background:transparent;border:1px solid #C5B8E0;color:#3D1A6B;padding:8px 16px;border-radius:8px;font-size:13px;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap;}
  .prof-edit-btn:hover{border-color:#3D1A6B;background:#F3EEFF;}
  /* Logo upload */
  .logo-upload-area{border:2px dashed #C5B8E0;border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .2s;position:relative;}
  .logo-upload-area:hover{border-color:#3D1A6B;background:#F8F6FF;}
  .logo-upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
  .logo-upload-icon{color:#6B5B8A;margin-bottom:10px;display:flex;justify-content:center;}
  .logo-upload-text{font-size:13px;color:#6B5B8A;margin-bottom:4px;font-weight:500;}
  .logo-upload-hint{font-size:11px;color:#a07cc5;}
  .logo-preview{text-align:center;display:none;}
  .logo-preview.show{display:block;}
  .logo-preview img{max-height:80px;max-width:240px;border:1px solid #E8E0F5;border-radius:8px;padding:8px;background:#fff;}
  .logo-preview-btns{display:flex;gap:8px;justify-content:center;margin-top:12px;}
  /* Certificates */
  .cert-empty{text-align:center;padding:24px;color:#6B5B8A;}
  .cert-empty-icon{color:#C5B8E0;margin-bottom:10px;display:flex;justify-content:center;}
  .cert-list{display:flex;flex-direction:column;gap:10px;}
  .cert-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#F8F6FF;border-radius:10px;border:1px solid #E8E0F5;}
  .cert-row-icon{width:38px;height:38px;border-radius:9px;background:#F0E8FF;display:flex;align-items:center;justify-content:center;color:#3D1A6B;flex-shrink:0;}
  .cert-row-name{font-size:14px;font-weight:600;color:#1A0A2E;}
  .cert-row-dates{font-size:12px;color:#6B5B8A;margin-top:1px;}
  .cert-badge{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;white-space:nowrap;}
  .cert-badge.valid{background:#EAF3DE;color:#27500A;}
  .cert-badge.warn{background:#FFF3E0;color:#854F0B;}
  .cert-badge.expired{background:#FCEBEB;color:#A32D2D;}
  .cert-row-actions{margin-left:auto;display:flex;gap:8px;}
  .cert-action-btn{background:transparent;border:1px solid #C5B8E0;color:#3D1A6B;padding:6px 12px;border-radius:7px;font-size:12px;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s;}
  .cert-action-btn:hover{border-color:#3D1A6B;background:#F3EEFF;}
  /* Profile compact product grid */
  .prof-prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
  .prof-prod-tile{background:#F8F6FF;border-radius:12px;padding:14px 16px;cursor:pointer;border:1.5px solid #E8E0F5;transition:all .2s;display:flex;align-items:center;gap:12px;}
  .prof-prod-tile:hover{border-color:#C9A84C;background:#fff;box-shadow:0 3px 10px rgba(61,26,107,0.1);}
  .prof-prod-tile-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .prof-prod-tile-name{font-size:13px;font-weight:600;color:#1A0A2E;line-height:1.3;}
  .prof-prod-tile-price{font-size:11px;color:#6B5B8A;margin-top:1px;}

  /* ── FOP/PO Firemní profil ── */
  .firma-header-card{background:#3D1A6B;border-radius:16px;padding:24px 28px;margin-bottom:16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  .firma-hc-left{display:flex;align-items:center;gap:18px;flex:1;min-width:0;}
  .firma-logo-wrap{width:56px;height:56px;flex-shrink:0;border-radius:10px;overflow:hidden;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;}
  .firma-logo-wrap img{width:56px;height:56px;object-fit:contain;background:#fff;padding:4px;border-radius:8px;box-sizing:border-box;}
  .firma-logo-placeholder{width:56px;height:56px;border-radius:10px;background:rgba(255,255,255,0.2);color:#C9A84C;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;font-family:'DM Serif Display',serif;}
  .firma-hc-info{min-width:0;}
  .firma-hc-name{font-size:20px;font-weight:700;color:#fff;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .firma-hc-ico{font-size:12px;color:rgba(255,255,255,.6);margin-bottom:8px;}
  .firma-hc-badge{display:inline-flex;background:rgba(201,168,76,0.28);color:#C9A84C;border:1px solid rgba(201,168,76,0.4);border-radius:20px;padding:3px 12px;font-size:11px;font-weight:600;}
  .firma-settings-btn{background:rgba(255,255,255,0.1);border:1.5px solid rgba(255,255,255,0.25);color:#fff;padding:10px 18px;border-radius:9px;font-size:13px;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;flex-shrink:0;white-space:nowrap;}
  .firma-settings-btn:hover{background:rgba(255,255,255,0.2);}
  /* Firma stats grid */
  .firma-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
  .firma-stat-card{background:#fff;border:1px solid #E8E0F5;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;}
  .firma-stat-icon{width:42px;height:42px;border-radius:10px;background:#F3EEFF;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .firma-stat-val{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;line-height:1;}
  .firma-stat-lbl{font-size:11px;color:#8B7AAA;margin-top:3px;}
  /* Kreditní peněženka */
  .firma-kredit-card{background:#2D1654;border-radius:16px;padding:24px 28px;margin-bottom:12px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  .firma-kredit-left{flex:1;min-width:200px;}
  .firma-kredit-label{font-size:11px;font-weight:700;color:#C9A84C;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;}
  .firma-kredit-amount{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;}
  .firma-kredit-num{font-size:36px;font-weight:700;color:#fff;line-height:1;}
  .firma-kredit-unit{font-size:14px;color:rgba(255,255,255,.5);}
  .firma-kredit-rez{font-size:12px;color:rgba(255,255,255,.4);margin-bottom:4px;}
  .firma-kredit-info{font-size:11px;color:rgba(255,255,255,.3);}
  .firma-kredit-btn{background:#C9A84C;color:#1A0A2E;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s;flex-shrink:0;white-space:nowrap;}
  .firma-kredit-btn:hover{background:#e8c35a;}
  .firma-kredit-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
  .firma-kredit-pill{background:#F8F6FF;border:1px solid #E8E0F5;border-radius:20px;padding:5px 13px;font-size:11px;color:#6B5B8A;}
  /* Zaměstnanci toolbar */
  .firma-zam-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
  .firma-zam-btn{border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;white-space:nowrap;}
  .firma-zam-btn.green{background:#2D9A5A;color:#fff;}
  .firma-zam-btn.green:hover{background:#22794a;}
  .firma-zam-btn.purple{background:#3D1A6B;color:#fff;}
  .firma-zam-btn.purple:hover{background:#5B2D9A;}
  .firma-zam-search-wrap{display:flex;align-items:center;gap:8px;background:#F4F0FF;border:1.5px solid #D8CCEE;border-radius:8px;padding:8px 12px;flex:1;min-width:160px;}
  .firma-zam-search{border:none;background:transparent;outline:none;font-size:13px;font-family:inherit;color:#1A0A2E;width:100%;}
  .firma-zam-filtr{border:1.5px solid #D8CCEE;background:#FDFCFF;border-radius:8px;padding:8px 12px;font-size:13px;font-family:inherit;color:#1A0A2E;outline:none;cursor:pointer;}
  /* Mini stats zaměstnanců */
  .firma-zam-mini-stats{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:14px;padding:12px 16px;background:#F8F6FF;border-radius:10px;font-size:13px;color:#6B5B8A;}
  .firma-zam-mini-stats strong{color:#1A0A2E;}
  /* Stav badges pro zaměstnance */
  .fzam-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;}
  .fzam-badge.ceka{background:#FFF3E0;color:#854F0B;}
  .fzam-badge.probiha{background:#E3F2FD;color:#0D47A1;}
  .fzam-badge.absolvoval{background:#E8F5E9;color:#1B5E20;}
  .fzam-badge.neuspel{background:#FFEBEE;color:#B71C1C;}
  .fzam-badge.urgovano{background:#F3E5F5;color:#4A148C;}
  /* Firma certifikáty */
  .firma-cert-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
  .firma-cert-filtry{display:flex;gap:4px;flex-wrap:wrap;}
  .firma-cert-filtr-btn{background:none;border:1.5px solid #D8CCEE;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:600;color:#6B5B8A;cursor:pointer;font-family:inherit;transition:all .2s;}
  .firma-cert-filtr-btn.active{background:#3D1A6B;border-color:#3D1A6B;color:#fff;}
  .firma-cert-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#F9F7FF;border:1px solid #E3DCF5;border-radius:10px;margin-bottom:8px;flex-wrap:wrap;}
  .firma-cert-row:last-child{margin-bottom:0;}
  .firma-cert-name{font-size:13px;font-weight:600;color:#1A0A2E;min-width:140px;}
  .firma-cert-kurz{font-size:12px;color:#6B5B8A;flex:1;min-width:100px;}
  .firma-cert-cislo{font-size:11px;color:#C9A84C;font-weight:700;letter-spacing:.5px;min-width:100px;}
  .firma-cert-platnost{font-size:12px;color:#6B5B8A;min-width:100px;}
  /* Firma settings modal */
  .firma-settings-overlay{position:fixed;inset:0;background:rgba(26,10,46,.55);z-index:9010;display:flex;align-items:center;justify-content:center;padding:16px;}
  .firma-settings-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px rgba(61,26,107,.3);}
  .firma-sm-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 0;margin-bottom:0;}
  .firma-sm-head h3{font-family:'DM Serif Display',serif;font-size:20px;color:#1A0A2E;margin:0;}
  .firma-sm-close{background:none;border:none;cursor:pointer;color:#6B5B8A;font-size:22px;line-height:1;padding:4px 9px;border-radius:6px;transition:background .2s;}
  .firma-sm-close:hover{background:#F0E8FF;}
  .firma-sm-tabs{display:flex;padding:14px 16px 0;gap:2px;border-bottom:1px solid #F0E8FF;}
  .firma-sm-tab{background:none;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:#8B7AAA;padding:8px 14px;border-radius:8px 8px 0 0;border-bottom:2.5px solid transparent;transition:all .2s;white-space:nowrap;}
  .firma-sm-tab.active{color:#3D1A6B;border-bottom-color:#3D1A6B;background:#F8F6FF;}
  .firma-sm-tab:hover:not(.active){color:#3D1A6B;background:#F8F6FF;}
  .firma-sm-body{padding:24px;}
  .firma-sm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .firma-sm-field{margin-bottom:14px;}
  .firma-sm-field label{display:block;font-size:12px;font-weight:600;color:#1A0A2E;margin-bottom:6px;}
  .firma-sm-field input{width:100%;box-sizing:border-box;border:1.5px solid #D8CCEE;border-radius:9px;padding:10px 14px;font-size:14px;font-family:inherit;color:#1A0A2E;outline:none;transition:border .2s;background:#FDFCFF;}
  .firma-sm-field input:focus{border-color:#3D1A6B;background:#fff;}
  .firma-sm-field input[readonly]{background:#F4F0FF;color:#6B5B8A;cursor:default;}
  .firma-sm-save-btn{width:100%;background:#3D1A6B;color:#fff;border:none;border-radius:9px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;margin-top:6px;}
  .firma-sm-save-btn:hover{background:#5B2D9A;}
  /* Import modal */
  .firma-import-overlay{position:fixed;inset:0;background:rgba(26,10,46,.55);z-index:9020;display:flex;align-items:center;justify-content:center;padding:16px;}
  .firma-import-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px rgba(61,26,107,.3);}
  .firma-im-head{background:#3D1A6B;border-radius:16px 16px 0 0;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;}
  .firma-im-head h3{font-family:'DM Serif Display',serif;font-size:18px;color:#fff;margin:0;}
  .firma-im-close{background:rgba(255,255,255,.15);border:none;color:#fff;font-size:20px;line-height:1;padding:4px 9px;border-radius:6px;cursor:pointer;transition:background .2s;}
  .firma-im-close:hover{background:rgba(255,255,255,.3);}
  .firma-im-body{padding:24px;}
  .firma-im-step{margin-bottom:20px;}
  .firma-im-step-label{font-size:11px;font-weight:700;color:#8B7AAA;letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;}
  .firma-im-infobox{background:#F8F6FF;border:1px solid #E8E0F5;border-radius:10px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;}
  .firma-im-dropzone{border:2px dashed #C9A84C;border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .2s;position:relative;background:#FFFDF5;}
  .firma-im-dropzone:hover,.firma-im-dropzone.drag{border-color:#3D1A6B;background:#F8F6FF;}
  .firma-im-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
  .firma-im-preview{margin-top:16px;}
  .firma-im-ok{color:#2D9A5A;font-size:13px;font-weight:600;margin-bottom:8px;}
  .firma-im-err-list{list-style:none;padding:0;margin:0 0 10px;}
  .firma-im-err-list li{font-size:12px;color:#E24B4A;padding:4px 0;border-bottom:1px solid #FFE0DF;}
  .firma-im-err-list li:last-child{border-bottom:none;}
  .firma-im-preview-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:12px;}
  .firma-im-preview-table th{background:#F4F0FF;color:#3D1A6B;padding:7px 10px;text-align:left;font-size:11px;font-weight:600;}
  .firma-im-preview-table td{padding:7px 10px;border-bottom:1px solid #F0E8FF;color:#1A0A2E;}
  .firma-im-btns{display:flex;gap:10px;margin-top:4px;}
  .firma-im-submit-btn{flex:1;background:#3D1A6B;color:#fff;border:none;border-radius:9px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;}
  .firma-im-submit-btn:hover:not(:disabled){background:#5B2D9A;}
  .firma-im-submit-btn:disabled{background:#C5B8E0;cursor:not-allowed;}
  .firma-im-cancel-btn{background:transparent;border:1.5px solid #D8CCEE;color:#6B5B8A;border-radius:9px;padding:12px 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;}
  .firma-im-cancel-btn:hover{border-color:#3D1A6B;color:#3D1A6B;}
  /* Akce ikony v tabulce zaměstnanců */
  .fzam-action-btn{background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:6px;transition:background .2s;display:inline-flex;align-items:center;}
  .fzam-action-btn:hover{background:#F0E8FF;}
  .fzam-action-btn:disabled{opacity:.35;cursor:not-allowed;}
  /* Responsive */
  @media(max-width:700px){
    .firma-stats-grid{grid-template-columns:repeat(2,1fr);}
    .firma-header-card{flex-direction:column;align-items:flex-start;}
    .firma-kredit-card{flex-direction:column;align-items:flex-start;}
    .firma-sm-row{grid-template-columns:1fr;}
  }

  /* ── FO Profil ── */
  .fo-header-card{background:linear-gradient(135deg,#3D1A6B 0%,#5B2D9A 100%);border-radius:16px;padding:24px 28px;margin-bottom:16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  .fo-hc-avatar{width:72px;height:72px;border-radius:50%;background:rgba(201,168,76,0.15);border:2.5px solid rgba(201,168,76,0.45);color:#C9A84C;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;flex-shrink:0;font-family:'DM Serif Display',serif;letter-spacing:1px;}
  .fo-hc-info{flex:1;min-width:160px;}
  .fo-hc-name{font-family:'DM Serif Display',serif;font-size:22px;color:#fff;margin-bottom:4px;line-height:1.2;}
  .fo-hc-email{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:8px;}
  .fo-hc-badge{display:inline-flex;background:rgba(201,168,76,0.18);color:#C9A84C;border:1px solid rgba(201,168,76,0.35);border-radius:20px;padding:3px 12px;font-size:11px;font-weight:600;}
  .fo-hc-edit-btn{background:rgba(255,255,255,0.1);border:1.5px solid rgba(255,255,255,0.3);color:#fff;padding:9px 18px;border-radius:9px;font-size:13px;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .2s;flex-shrink:0;}
  .fo-hc-edit-btn:hover{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.55);}
  .fo-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
  .fo-stat-item{background:#fff;border:1px solid #E8E0F5;border-radius:12px;padding:18px 12px;text-align:center;}
  .fo-stat-val{font-family:'DM Serif Display',serif;font-size:28px;color:#3D1A6B;line-height:1;margin-bottom:6px;}
  .fo-stat-lbl{font-size:10px;color:#8B7AAA;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
  /* FO: Upravit profil modal */
  .fo-edit-overlay{position:fixed;inset:0;background:rgba(26,10,46,.55);z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px;}
  .fo-edit-modal{background:#fff;border-radius:16px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(61,26,107,.3);}
  .fo-em-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid #F0E8FF;}
  .fo-em-head h3{font-family:'DM Serif Display',serif;font-size:20px;color:#1A0A2E;margin:0;}
  .fo-em-close{background:none;border:none;cursor:pointer;color:#6B5B8A;font-size:22px;line-height:1;padding:4px 9px;border-radius:6px;transition:background .2s;}
  .fo-em-close:hover{background:#F0E8FF;}
  .fo-em-tabs{display:flex;padding:12px 16px 0;gap:2px;border-bottom:1px solid #F0E8FF;}
  .fo-em-tab{background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:#8B7AAA;padding:9px 16px;border-radius:8px 8px 0 0;border-bottom:2.5px solid transparent;transition:all .2s;}
  .fo-em-tab.active{color:#3D1A6B;border-bottom-color:#3D1A6B;background:#F8F6FF;}
  .fo-em-tab:hover:not(.active){color:#3D1A6B;background:#F8F6FF;}
  .fo-em-body{padding:24px;}
  .fo-em-field{margin-bottom:16px;}
  .fo-em-field label{display:block;font-size:12px;font-weight:600;color:#1A0A2E;margin-bottom:7px;letter-spacing:.3px;}
  .fo-em-field input{width:100%;box-sizing:border-box;border:1.5px solid #D8CCEE;border-radius:9px;padding:11px 14px;font-size:14px;font-family:inherit;color:#1A0A2E;outline:none;transition:border .2s;background:#FDFCFF;}
  .fo-em-field input:focus{border-color:#3D1A6B;background:#fff;}
  .fo-em-field input[readonly]{background:#F4F0FF;color:#6B5B8A;cursor:default;}
  .fo-em-save-btn{width:100%;background:#3D1A6B;color:#fff;border:none;border-radius:9px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;margin-top:4px;}
  .fo-em-save-btn:hover{background:#5B2D9A;}
  .fo-em-info{font-size:12px;color:#8B7AAA;line-height:1.5;margin-bottom:16px;background:#F8F6FF;border-radius:8px;padding:10px 14px;}

  /* ══════════════════════════════════════════════
     ADMIN DASHBOARD
  ══════════════════════════════════════════════ */
  /* ══ ADMIN SCREEN ══ */
  #admin-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:#F0EBF9;z-index:2000;display:none;flex-direction:column;overflow:hidden;font-family:'IBM Plex Sans',sans-serif;}

  /* HEADER */
  .adm-header{background:linear-gradient(90deg,#120620 0%,#1A0A2E 55%,#2d1a5e 100%);border-bottom:1px solid rgba(201,168,76,0.18);padding:0 28px;height:64px;display:flex;align-items:center;gap:14px;flex-shrink:0;box-shadow:0 2px 24px rgba(18,6,32,0.55);}
  .adm-header-logo{font-family:'DM Serif Display',serif;font-size:18px;font-weight:700;letter-spacing:4px;color:#C9A84C;text-transform:uppercase;}
  .adm-header-sep{width:1px;height:22px;background:rgba(255,255,255,0.1);flex-shrink:0;}
  .adm-badge{background:linear-gradient(135deg,rgba(201,168,76,0.22),rgba(201,168,76,0.08));border:1px solid rgba(201,168,76,0.38);color:#C9A84C;font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:4px 12px;border-radius:20px;}
  .adm-header-right{margin-left:auto;display:flex;align-items:center;gap:14px;}
  .adm-header-user{font-size:12px;color:rgba(255,255,255,0.4);display:flex;align-items:center;gap:8px;}
  .adm-header-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#3D1A6B,#5B2D9A);border:1.5px solid rgba(201,168,76,0.35);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#C9A84C;flex-shrink:0;}
  .adm-logout-btn{background:transparent;border:1px solid rgba(255,255,255,0.16);color:rgba(255,255,255,0.5);padding:7px 15px;border-radius:8px;font-size:12px;cursor:pointer;font-family:inherit;transition:all .2s;display:flex;align-items:center;gap:6px;}
  .adm-logout-btn:hover{border-color:rgba(201,168,76,0.6);color:#C9A84C;background:rgba(201,168,76,0.06);}

  /* BODY */
  .adm-body{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0;}

  /* SIDEBAR */
  .adm-sidebar{width:232px;min-width:232px;max-width:232px;background:linear-gradient(180deg,#120620 0%,#1A0A2E 100%);border-right:1px solid rgba(201,168,76,0.08);position:fixed;top:64px;left:0;height:calc(100vh - 64px);z-index:100;overflow-y:auto;display:flex;flex-direction:column;}
  .adm-sidebar::-webkit-scrollbar{width:4px;}
  .adm-sidebar::-webkit-scrollbar-track{background:transparent;}
  .adm-sidebar::-webkit-scrollbar-thumb{background:rgba(201,168,76,0.2);border-radius:4px;}
  .adm-sidebar-logo{display:flex;align-items:center;gap:12px;padding:20px 20px 18px;border-bottom:1px solid rgba(255,255,255,0.06);}
  .adm-sidebar-logo-text{display:flex;flex-direction:column;gap:2px;}
  .adm-sidebar-logo-name{font-family:'DM Serif Display',serif;font-size:15px;color:#C9A84C;letter-spacing:3px;text-transform:uppercase;}
  .adm-sidebar-logo-sub{font-size:9px;color:rgba(255,255,255,0.22);letter-spacing:1.5px;text-transform:uppercase;}
  .adm-nav-group{flex:1;padding:8px 0;overflow-y:auto;}
  .adm-nav-group-label{padding:16px 20px 5px;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.18);}
  .adm-nav-item{display:flex;align-items:center;gap:11px;padding:10px 20px;font-size:13px;color:rgba(255,255,255,0.42);cursor:pointer;transition:all .18s;margin:1px 10px;border-radius:9px;}
  .adm-nav-item:hover{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.8);}
  .adm-nav-item.active{background:linear-gradient(90deg,rgba(201,168,76,0.16),rgba(201,168,76,0.06));color:#C9A84C;font-weight:500;box-shadow:inset 0 0 0 1px rgba(201,168,76,0.15);}
  .adm-nav-item svg{flex-shrink:0;opacity:.6;transition:opacity .18s;}
  .adm-nav-item.active svg{opacity:1;}
  .adm-nav-item:hover svg{opacity:.85;}
  .adm-sidebar-footer{padding:14px 20px;border-top:1px solid rgba(255,255,255,0.06);font-size:10px;color:rgba(255,255,255,0.18);line-height:1.6;display:flex;align-items:center;gap:6px;letter-spacing:.5px;}

  /* CONTENT */
  .adm-content{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:32px;margin-left:232px;width:calc(100% - 232px);height:calc(100vh - 64px);box-sizing:border-box;}
  .adm-content::-webkit-scrollbar{width:6px;}
  .adm-content::-webkit-scrollbar-track{background:transparent;}
  .adm-content::-webkit-scrollbar-thumb{background:rgba(61,26,107,0.15);border-radius:4px;}

  /* SECTIONS */
  .adm-section{display:none;}
  .adm-section.active{display:block;}
  @keyframes admIn{from{opacity:0}to{opacity:1}}
  .adm-section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;padding-bottom:18px;border-bottom:1.5px solid #EAE0F5;}
  .adm-section-title{font-family:'DM Serif Display',serif;font-size:24px;color:#1A0A2E;margin-bottom:4px;line-height:1.2;}
  .adm-section-sub{font-size:13px;color:#8B7AAA;margin-bottom:0;}

  /* STAT CARDS */
  .adm-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;}
  .adm-stat-card{background:#fff;border-radius:16px;padding:22px 20px 18px;border:1px solid rgba(225,215,245,0.8);box-shadow:0 1px 3px rgba(61,26,107,0.04),0 6px 18px rgba(61,26,107,0.07);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;}
  .adm-stat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3D1A6B,#8B4AC8,#C9A84C);}
  .adm-stat-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px rgba(61,26,107,0.06),0 16px 32px rgba(61,26,107,0.13);}
  .adm-stat-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
  .adm-stat-val{font-family:'DM Serif Display',serif;font-size:30px;color:#1A0A2E;line-height:1;margin-bottom:5px;}
  .adm-stat-lbl{font-size:12px;color:#8B7AAA;font-weight:500;}

  /* TABLES */
  .adm-table-wrap{background:#fff;border-radius:16px;border:1px solid rgba(225,215,245,0.8);box-shadow:0 1px 3px rgba(61,26,107,0.04),0 6px 18px rgba(61,26,107,0.06);overflow-x:auto;overflow-y:hidden;margin-bottom:24px;width:100%;max-width:100%;}
  .adm-table-wrap .adm-table-header{border-radius:16px 16px 0 0;}
  .adm-table-header{padding:16px 22px;border-bottom:1px solid #EDE5F9;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:linear-gradient(90deg,#FDFBFF,#F8F4FF);}
  .adm-table-title{font-size:14px;font-weight:600;color:#1A0A2E;}
  .adm-search{padding:7px 12px;border:1.5px solid #E4DAF5;border-radius:9px;font-size:13px;font-family:inherit;outline:none;width:200px;transition:all .2s;background:#fff;}
  .adm-search:focus{border-color:#3D1A6B;box-shadow:0 0 0 3px rgba(61,26,107,0.07);}
  table.adm-table{width:100%;min-width:800px;border-collapse:collapse;font-size:13px;}
  table.adm-table th{background:linear-gradient(90deg,#F5F0FC,#F0EBF9);color:#5B4A7A;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.9px;padding:12px 18px;text-align:left;border-bottom:1px solid #EDE5F9;}
  table.adm-table td{padding:13px 18px;border-top:1px solid #F2EBF9;color:#1A0A2E;vertical-align:middle;}
  table.adm-table tr:nth-child(even) td{background:#FDFBFF;}
  table.adm-table tr:hover td{background:#F5F0FC;transition:background .12s;}

  /* BADGES */
  .adm-role{display:inline-flex;align-items:center;padding:3px 11px;border-radius:20px;font-size:11px;font-weight:600;}
  .adm-role.admin{background:linear-gradient(135deg,rgba(201,168,76,0.18),rgba(201,168,76,0.06));color:#7A5908;border:1px solid rgba(201,168,76,0.28);}
  .adm-role.uzivatel{background:#F0ECF8;color:#5B4A7A;border:1px solid #DDD6F0;}
  .adm-stav{display:inline-flex;align-items:center;padding:3px 11px;border-radius:20px;font-size:11px;font-weight:600;}
  .adm-stav.zaplaceno,.adm-stav.platny{background:#E8F5E0;color:#1E6B08;border:1px solid #BEE0A0;}
  .adm-stav.ceka{background:#FFF4E0;color:#7A4800;border:1px solid #FFD07A;}
  .adm-stav.zruseno,.adm-stav.expiroval{background:#FCEAEA;color:#9A1E1E;border:1px solid #F0B0B0;}
  .adm-stav.expiruje{background:#FFF4E0;color:#7A4800;border:1px solid #FFD07A;}

  /* MISC */
  .adm-empty{padding:52px;text-align:center;color:#9B8AB4;font-size:14px;}
  .adm-loading{padding:44px;text-align:center;color:#9B8AB4;font-size:13px;display:flex;align-items:center;justify-content:center;gap:10px;}
  .adm-loading::before{content:'';width:18px;height:18px;border:2.5px solid #E4DAF5;border-top-color:#3D1A6B;border-radius:50%;animation:admSpin .7s linear infinite;flex-shrink:0;}
  @keyframes admSpin{to{transform:rotate(360deg)}}

  /* FORM CARDS */
  .adm-form-card{background:#fff;border-radius:16px;border:1px solid rgba(225,215,245,0.8);box-shadow:0 1px 3px rgba(61,26,107,0.04),0 6px 18px rgba(61,26,107,0.06);padding:26px;margin-bottom:20px;}
  .adm-form-card-title{font-size:14px;font-weight:600;color:#1A0A2E;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #EDE5F9;}
  .adm-form-group{margin-bottom:18px;}
  .adm-form-label{display:block;font-size:11px;font-weight:600;color:#8B7AAA;text-transform:uppercase;letter-spacing:.9px;margin-bottom:7px;}
  .adm-form-input{width:100%;padding:10px 14px;border:1.5px solid #E4DAF5;border-radius:10px;font-size:13px;font-family:inherit;outline:none;transition:all .2s;background:#fff;}
  .adm-form-input:focus{border-color:#3D1A6B;box-shadow:0 0 0 3px rgba(61,26,107,0.08);}
  .adm-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
  .adm-btn{padding:10px 22px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:all .2s;}
  .adm-btn-primary{background:linear-gradient(135deg,#3D1A6B,#5B2D9A);color:#fff;box-shadow:0 2px 10px rgba(61,26,107,0.3);}
  .adm-btn-primary:hover{background:linear-gradient(135deg,#5B2D9A,#3D1A6B);transform:translateY(-1px);box-shadow:0 4px 18px rgba(61,26,107,0.38);}

  /* ── Admin akční tlačítka v tabulce ── */
  .adm-act-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:7px;font-size:11px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:all .15s;white-space:nowrap;}
  .adm-act-edit{background:#EEE8FA;color:#3D1A6B;}
  .adm-act-edit:hover{background:#DDD0F7;color:#2A0F52;}
  .adm-act-pass{background:#E8F4FD;color:#1565C0;}
  .adm-act-pass:hover{background:#CDEAF9;color:#0D47A1;}
  .adm-act-del{background:#FDECEC;color:#C62828;}
  .adm-act-del:hover{background:#FAD4D4;color:#B71C1C;}
  .adm-act-wrap{display:flex;gap:5px;flex-wrap:wrap;}

  /* ── Admin uživatel modal ── */
  .adm-uz-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:3100;display:none;align-items:center;justify-content:center;padding:16px;}
  .adm-uz-overlay.open{display:flex;}
  .adm-uz-card{background:#fff;border-radius:18px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(61,26,107,0.18);display:flex;flex-direction:column;}
  .adm-uz-head{padding:22px 26px 16px;border-bottom:1px solid #EDE5F9;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:1;}
  .adm-uz-title{font-size:17px;font-weight:700;color:#1A0A2E;}
  .adm-uz-close{background:none;border:none;cursor:pointer;color:#6B5B8A;padding:4px;border-radius:6px;display:flex;}
  .adm-uz-close:hover{background:#F3EEFF;color:#3D1A6B;}
  .adm-uz-body{padding:22px 26px;display:flex;flex-direction:column;gap:14px;}
  .adm-uz-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .adm-uz-field{display:flex;flex-direction:column;gap:5px;}
  .adm-uz-field label{font-size:11px;font-weight:700;color:#6B5B8A;text-transform:uppercase;letter-spacing:.7px;}
  .adm-uz-field input,.adm-uz-field select{padding:9px 12px;border:1.5px solid #E4DAF5;border-radius:9px;font-size:13px;font-family:inherit;outline:none;color:#1A0A2E;background:#FDFBFF;transition:border-color .2s;}
  .adm-uz-field input:focus,.adm-uz-field select:focus{border-color:#3D1A6B;box-shadow:0 0 0 3px rgba(61,26,107,0.07);}
  .adm-uz-foot{padding:16px 26px;border-top:1px solid #EDE5F9;display:flex;gap:10px;justify-content:flex-end;background:#FDFBFF;border-radius:0 0 18px 18px;}
  .adm-uz-err{background:#FEF2F2;border:1px solid #FECACA;border-radius:8px;padding:10px 14px;font-size:13px;color:#991B1B;display:none;}
  .adm-uz-suc{background:#F0FDF4;border:1px solid #BBF7D0;border-radius:8px;padding:10px 14px;font-size:13px;color:#166534;display:none;}

  @media(max-width:768px){.adm-stats-grid{grid-template-columns:repeat(2,1fr);}.adm-sidebar{width:200px;}.adm-info-grid{grid-template-columns:1fr;}.adm-content{padding:16px 14px;margin-left:200px;width:calc(100% - 200px);}}

  /* ══ CHATBOT KB EDITOR ══ */
  .kb-tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:2px solid #EDE5F9;padding-bottom:0;}
  .kb-tab{background:none;border:none;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;color:#9B8ABB;border-bottom:2px solid transparent;margin-bottom:-2px;font-family:inherit;transition:all .2s;}
  .kb-tab.active{color:#3D1A6B;border-bottom-color:#3D1A6B;}
  .kb-pane{display:none;}.kb-pane.active{display:block;}
  .kb-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
  .kb-item{display:flex;align-items:flex-start;gap:8px;background:#F8F6FF;border:1px solid #E8E0F5;border-radius:10px;padding:10px 12px;}
  .kb-item-text{flex:1;font-size:13px;color:#1A0A2E;line-height:1.5;}
  .kb-item-date{font-size:11px;color:#9B8ABB;white-space:nowrap;padding-top:2px;}
  .kb-item-del{background:none;border:none;cursor:pointer;color:#C5B8E0;font-size:16px;line-height:1;padding:0 2px;transition:color .2s;flex-shrink:0;}
  .kb-item-del:hover{color:#E24B4A;}
  .kb-add-row{display:flex;gap:8px;margin-bottom:20px;}
  .kb-add-input{flex:1;padding:9px 12px;border:1.5px solid #E4DAF5;border-radius:9px;font-size:13px;font-family:inherit;outline:none;}
  .kb-add-input:focus{border-color:#3D1A6B;}
  .kb-add-btn{background:#3D1A6B;color:#fff;border:none;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;}
  .kb-add-btn:hover{background:#5B2D9A;}
  .kb-textarea{width:100%;min-height:120px;padding:12px;border:1.5px solid #E4DAF5;border-radius:10px;font-size:13px;font-family:inherit;outline:none;resize:vertical;line-height:1.6;}
  .kb-textarea:focus{border-color:#3D1A6B;}
  .kb-cenik-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #F0EBF8;font-size:13px;}
  .kb-cenik-row:last-child{border-bottom:none;}
  .kb-cenik-nazev{color:#1A0A2E;font-weight:500;}
  .kb-cenik-cena{color:#3D1A6B;font-weight:700;}
  .kb-cenik-typ{font-size:11px;color:#9B8ABB;background:#F0EBF8;border-radius:20px;padding:2px 8px;}
  .kb-save-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid #EDE5F9;padding:12px 0 0;display:flex;align-items:center;gap:12px;margin-top:8px;}
  .kb-saved-msg{font-size:12px;color:#2D9A5A;display:none;}
  .kb-note{font-size:12px;color:#9B8ABB;background:#F8F6FF;border-radius:8px;padding:10px 14px;margin-bottom:16px;line-height:1.5;}

  /* ══ REPORTS ══ */
  .rep-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
  .rep-tab{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid #E8E0F5;background:#FFFFFF;color:#6B5B8A;font-family:inherit;transition:all .2s;}
  .rep-tab.active{background:#3D1A6B;color:#FFFFFF;border-color:#3D1A6B;}
  .rep-tab:hover:not(.active){border-color:#3D1A6B;color:#3D1A6B;}
  .rep-content{display:none;}.rep-content.active{display:block;}
  .rep-filters{background:#fff;border:1px solid #E8E0F5;border-radius:12px;padding:16px 20px;margin-bottom:20px;}
  .rep-period-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
  .rep-period-btn{padding:6px 14px;border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid #E8E0F5;background:#FFFFFF;color:#6B5B8A;font-family:inherit;transition:all .2s;}
  .rep-period-btn.active{background:#C9A84C;color:#1A0A2E;border-color:#C9A84C;}
  .rep-period-btn:hover:not(.active){border-color:#C9A84C;color:#8B6914;}
  .rep-filter-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-top:1px solid #F0EAF9;padding-top:12px;}
  .rep-date-range{display:flex;align-items:center;gap:6px;font-size:12px;color:#6B5B8A;flex-wrap:wrap;}
  .rep-date-input{padding:6px 10px;border:1px solid #E8E0F5;border-radius:7px;font-size:12px;font-family:inherit;outline:none;color:#1A0A2E;}
  .rep-date-input:focus{border-color:#3D1A6B;}
  .rep-select{padding:7px 12px;border:1px solid #E8E0F5;border-radius:7px;font-size:13px;font-family:inherit;outline:none;background:#fff;color:#1A0A2E;cursor:pointer;}
  .rep-select:focus{border-color:#3D1A6B;}
  .rep-chart-wrap{background:#fff;border:1px solid #E8E0F5;border-radius:12px;padding:20px;margin-bottom:20px;}
  .rep-chart-title{font-size:13px;font-weight:600;color:#1A0A2E;margin-bottom:14px;}
  .rep-charts-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}
  .rep-export-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;background:#F8F6FF;border:1px solid #E8E0F5;color:#3D1A6B;font-family:inherit;transition:all .2s;white-space:nowrap;}
  .rep-export-btn:hover{border-color:#3D1A6B;background:#EDE8FF;}
  .rep-change{font-size:inherit;font-weight:700;}
  .rep-change.pos{color:#27500A;}.rep-change.neg{color:#A32D2D;}
  .rep-pie-wrap{display:flex;gap:16px;align-items:center;}
  .rep-pie-legend{flex:1;display:flex;flex-direction:column;gap:7px;overflow-y:auto;max-height:160px;}
  .rep-pie-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#1A0A2E;}
  .rep-pie-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
  @media(max-width:768px){.rep-charts-2col{grid-template-columns:1fr;}.rep-filter-row{gap:8px;}.rep-date-range{flex-direction:column;align-items:flex-start;}}



    *{margin:0;padding:0;box-sizing:border-box;}
    body{font-family:'IBM Plex Sans',sans-serif;background:#fff;}
    .aml-cert-header{background:linear-gradient(135deg,#1A0A2E 0%,#3D1A6B 100%);padding:28px 36px;}
    .aml-cert-logos{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
    .aml-cert-logo-company{max-height:40px;max-width:120px;object-fit:contain;border-radius:4px;}
    .aml-cert-badge{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#C9A84C;margin-bottom:6px;}
    .aml-cert-title{font-family:'DM Serif Display',serif;font-size:26px;color:#fff;margin-bottom:4px;}
    .aml-cert-subtitle{font-size:12px;color:rgba(255,255,255,0.6);letter-spacing:1px;}
    .aml-cert-body{padding:24px 36px;}
    .aml-cert-recipient{margin-bottom:18px;}
    .aml-cert-recip-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:4px;}
    .aml-cert-recip-name{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;}
    .aml-cert-recip-email{font-size:13px;color:#6B5B8A;}
    .aml-cert-score-box{background:linear-gradient(135deg,#F0E8FF,#E8E0F5);border-radius:12px;padding:16px 20px;margin-bottom:18px;}
    .aml-cert-score-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#3D1A6B;margin-bottom:10px;font-weight:700;}
    .aml-cert-score-main{font-size:28px;font-weight:700;color:#3D1A6B;font-family:'DM Serif Display',serif;}
    .aml-cert-score-sub{font-size:13px;color:#6B5B8A;margin-top:2px;}
    .aml-cert-sections{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
    .aml-cert-sec-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#1A0A2E;}
    .aml-cert-sec-check{color:#2D9A5A;}
    .aml-cert-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
    .aml-cert-meta-item{background:#F8F6FF;border-radius:8px;padding:10px 12px;}
    .aml-cert-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:3px;}
    .aml-cert-meta-value{font-size:13px;font-weight:600;color:#1A0A2E;}
    .aml-cert-footer{border-top:1px solid #E8E0F5;padding:16px 36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6B5B8A;}
    @media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}



    *{margin:0;padding:0;box-sizing:border-box;}
    body{font-family:'IBM Plex Sans',sans-serif;background:#fff;}
    .aml-cert-header{background:linear-gradient(135deg,#1A0A2E 0%,#3D1A6B 100%);padding:28px 36px;}
    .aml-cert-logos{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
    .aml-cert-logo-company{max-height:40px;max-width:120px;object-fit:contain;border-radius:4px;}
    .aml-cert-badge{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#C9A84C;margin-bottom:6px;}
    .aml-cert-title{font-family:'DM Serif Display',serif;font-size:26px;color:#fff;margin-bottom:4px;}
    .aml-cert-subtitle{font-size:12px;color:rgba(255,255,255,0.6);letter-spacing:1px;}
    .aml-cert-body{padding:24px 36px;}
    .aml-cert-recipient{margin-bottom:18px;}
    .aml-cert-recip-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:4px;}
    .aml-cert-recip-name{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;}
    .aml-cert-recip-email{font-size:13px;color:#6B5B8A;}
    .aml-cert-score-box{background:linear-gradient(135deg,#F0E8FF,#E8E0F5);border-radius:12px;padding:16px 20px;margin-bottom:18px;}
    .aml-cert-score-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#3D1A6B;margin-bottom:10px;font-weight:700;}
    .aml-cert-score-main{font-size:28px;font-weight:700;color:#3D1A6B;font-family:'DM Serif Display',serif;}
    .aml-cert-score-sub{font-size:13px;color:#6B5B8A;margin-top:2px;}
    .aml-cert-sections{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
    .aml-cert-sec-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#1A0A2E;}
    .aml-cert-sec-check{color:#2D9A5A;}
    .aml-cert-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
    .aml-cert-meta-item{background:#F8F6FF;border-radius:8px;padding:10px 12px;}
    .aml-cert-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:3px;}
    .aml-cert-meta-value{font-size:13px;font-weight:600;color:#1A0A2E;}
    .aml-cert-footer{border-top:1px solid #E8E0F5;padding:16px 36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6B5B8A;}
    @media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}



    *{margin:0;padding:0;box-sizing:border-box;}
    body{font-family:'IBM Plex Sans',sans-serif;background:#fff;}
    .aml-cert-header{background:linear-gradient(135deg,#1A0A2E 0%,#3D1A6B 100%);padding:28px 36px;}
    .aml-cert-logos{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
    .aml-cert-logo-company{max-height:40px;max-width:120px;object-fit:contain;border-radius:4px;}
    .aml-cert-badge{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#C9A84C;margin-bottom:6px;}
    .aml-cert-title{font-family:'DM Serif Display',serif;font-size:26px;color:#fff;margin-bottom:4px;}
    .aml-cert-subtitle{font-size:12px;color:rgba(255,255,255,0.6);letter-spacing:1px;}
    .aml-cert-body{padding:24px 36px;}
    .aml-cert-recipient{margin-bottom:18px;}
    .aml-cert-recip-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:4px;}
    .aml-cert-recip-name{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;}
    .aml-cert-recip-email{font-size:13px;color:#6B5B8A;}
    .aml-cert-score-box{background:linear-gradient(135deg,#F0E8FF,#E8E0F5);border-radius:12px;padding:16px 20px;margin-bottom:18px;}
    .aml-cert-score-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#3D1A6B;margin-bottom:10px;font-weight:700;}
    .aml-cert-score-main{font-size:28px;font-weight:700;color:#3D1A6B;font-family:'DM Serif Display',serif;}
    .aml-cert-score-sub{font-size:13px;color:#6B5B8A;margin-top:2px;}
    .aml-cert-sections{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
    .aml-cert-sec-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#1A0A2E;}
    .aml-cert-sec-check{color:#2D9A5A;}
    .aml-cert-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
    .aml-cert-meta-item{background:#F8F6FF;border-radius:8px;padding:10px 12px;}
    .aml-cert-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:3px;}
    .aml-cert-meta-value{font-size:13px;font-weight:600;color:#1A0A2E;}
    .aml-cert-footer{border-top:1px solid #E8E0F5;padding:16px 36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6B5B8A;}
    @media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}



    *{margin:0;padding:0;box-sizing:border-box;}
    body{font-family:'IBM Plex Sans',sans-serif;background:#fff;}
    .aml-cert-header{background:linear-gradient(135deg,#1A0A2E 0%,#3D1A6B 100%);padding:28px 36px;}
    .aml-cert-logos{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
    .aml-cert-logo-company{max-height:40px;max-width:120px;object-fit:contain;border-radius:4px;}
    .aml-cert-badge{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#C9A84C;margin-bottom:6px;}
    .aml-cert-title{font-family:'DM Serif Display',serif;font-size:26px;color:#fff;margin-bottom:4px;}
    .aml-cert-subtitle{font-size:12px;color:rgba(255,255,255,0.6);letter-spacing:1px;}
    .aml-cert-body{padding:24px 36px;}
    .aml-cert-recipient{margin-bottom:18px;}
    .aml-cert-recip-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:4px;}
    .aml-cert-recip-name{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;}
    .aml-cert-recip-email{font-size:13px;color:#6B5B8A;}
    .aml-cert-score-box{background:linear-gradient(135deg,#F0E8FF,#E8E0F5);border-radius:12px;padding:16px 20px;margin-bottom:18px;}
    .aml-cert-score-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#3D1A6B;margin-bottom:10px;font-weight:700;}
    .aml-cert-score-main{font-size:28px;font-weight:700;color:#3D1A6B;font-family:'DM Serif Display',serif;}
    .aml-cert-score-sub{font-size:13px;color:#6B5B8A;margin-top:2px;}
    .aml-cert-sections{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
    .aml-cert-sec-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#1A0A2E;}
    .aml-cert-sec-check{color:#2D9A5A;}
    .aml-cert-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
    .aml-cert-meta-item{background:#F8F6FF;border-radius:8px;padding:10px 12px;}
    .aml-cert-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:3px;}
    .aml-cert-meta-value{font-size:13px;font-weight:600;color:#1A0A2E;}
    .aml-cert-footer{border-top:1px solid #E8E0F5;padding:16px 36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6B5B8A;}
    @media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}



    *{margin:0;padding:0;box-sizing:border-box;}
    body{font-family:'IBM Plex Sans',sans-serif;background:#fff;}
    .aml-cert-header{background:linear-gradient(135deg,#1A0A2E 0%,#3D1A6B 100%);padding:28px 36px;}
    .aml-cert-logos{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
    .aml-cert-logo-company{max-height:40px;max-width:120px;object-fit:contain;border-radius:4px;}
    .aml-cert-badge{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#C9A84C;margin-bottom:6px;}
    .aml-cert-title{font-family:'DM Serif Display',serif;font-size:26px;color:#fff;margin-bottom:4px;}
    .aml-cert-subtitle{font-size:12px;color:rgba(255,255,255,0.6);letter-spacing:1px;}
    .aml-cert-body{padding:24px 36px;}
    .aml-cert-recipient{margin-bottom:18px;}
    .aml-cert-recip-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:4px;}
    .aml-cert-recip-name{font-family:'DM Serif Display',serif;font-size:22px;color:#1A0A2E;}
    .aml-cert-recip-email{font-size:13px;color:#6B5B8A;}
    .aml-cert-score-box{background:linear-gradient(135deg,#F0E8FF,#E8E0F5);border-radius:12px;padding:16px 20px;margin-bottom:18px;}
    .aml-cert-score-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#3D1A6B;margin-bottom:10px;font-weight:700;}
    .aml-cert-score-main{font-size:28px;font-weight:700;color:#3D1A6B;font-family:'DM Serif Display',serif;}
    .aml-cert-score-sub{font-size:13px;color:#6B5B8A;margin-top:2px;}
    .aml-cert-sections{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
    .aml-cert-sec-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#1A0A2E;}
    .aml-cert-sec-check{color:#2D9A5A;}
    .aml-cert-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
    .aml-cert-meta-item{background:#F8F6FF;border-radius:8px;padding:10px 12px;}
    .aml-cert-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6B5B8A;margin-bottom:3px;}
    .aml-cert-meta-value{font-size:13px;font-weight:600;color:#1A0A2E;}
    .aml-cert-footer{border-top:1px solid #E8E0F5;padding:16px 36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6B5B8A;}
    @media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}



    @import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=IBM+Plex+Sans:wght@400;600&display=swap');
    body{font-family:'IBM Plex Sans',sans-serif;margin:0;padding:0;color:#1A0A2E;}
    .pdf-header{background:#3D1A6B;color:#fff;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;}
    .pdf-logo{display:flex;align-items:center;gap:12px;}
    .pdf-logo-name{font-family:'DM Serif Display',serif;font-size:18px;letter-spacing:3px;color:#C9A84C;}
    .pdf-logo-sub{font-size:9px;color:rgba(255,255,255,0.5);letter-spacing:2px;}
    .pdf-title-block{text-align:right;}
    .pdf-title{font-size:11px;letter-spacing:2px;color:rgba(255,255,255,0.5);text-transform:uppercase;}
    .pdf-site{font-family:'DM Serif Display',serif;font-size:18px;color:#C9A84C;}
    .pdf-meta{font-size:11px;color:rgba(255,255,255,0.55);margin-top:3px;}
    .pdf-body{padding:32px 40px;}
    .pdf-score-row{display:flex;align-items:center;gap:20px;margin-bottom:24px;background:#F8F6FF;border-radius:12px;padding:18px 24px;}
    .pdf-score-circle{width:72px;height:72px;border-radius:50%;border:4px solid ${scoreColor};color:${scoreColor};display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;}
    .pdf-score-num{font-size:24px;font-weight:700;line-height:1;}
    .pdf-score-lbl{font-size:9px;letter-spacing:1px;}
    .pdf-verdict{font-size:18px;font-weight:700;color:${scoreColor};}
    .pdf-verdict-type{font-size:13px;color:#6B5B8A;margin-top:2px;}
    .pdf-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;}
    .pdf-sum-card{border-radius:10px;padding:14px;text-align:center;}
    .pdf-sum-num{font-size:26px;font-weight:700;font-family:'DM Serif Display',serif;}
    .pdf-sum-lbl{font-size:12px;margin-top:2px;}
    .pdf-section-title{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#1A0A2E;margin:20px 0 10px;border-bottom:1px solid #EAE4F2;padding-bottom:6px;}
    .pdf-disclaimer{background:#F8F6FF;border-radius:8px;padding:12px 16px;font-size:11px;color:#6B5B8A;line-height:1.6;margin-top:20px;border-left:3px solid #DDD5EE;}
    .pdf-footer{background:#3D1A6B;color:rgba(255,255,255,0.5);text-align:center;padding:12px;font-size:11px;margin-top:32px;}
    @media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;}}



  /* Chatbot — izolované styly, nedotýkat se */
  #cb-btn{position:fixed;bottom:90px;right:24px;z-index:9999;width:56px;height:56px;border-radius:50%;background:#3D1A6B;border:2px solid #C9A84C;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(61,26,107,0.45);transition:transform .2s ease,box-shadow .2s ease;padding:0;outline:none;}
  #cb-btn:hover{transform:scale(1.15);box-shadow:0 0 0 7px rgba(201,168,76,0.22),0 6px 28px rgba(61,26,107,0.65);}
  #cb-btn .cb-dot{position:absolute;top:3px;right:3px;width:12px;height:12px;border-radius:50%;background:#4CAF82;border:2px solid #3D1A6B;}
  #cb-win{position:fixed;bottom:156px;right:24px;width:340px;max-height:500px;background:#FFFFFF;border-radius:16px;box-shadow:0 8px 40px rgba(61,26,107,0.2);z-index:9998;display:none;flex-direction:column;overflow:hidden;transform-origin:bottom right;}
  #cb-win.cb-open{display:flex;animation:cbSlideIn .22s cubic-bezier(.34,1.56,.64,1) forwards;}
  @keyframes cbSlideIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
  .cb-head{background:#3D1A6B;padding:13px 15px;display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .cb-logo{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .cb-info{flex:1;}
  .cb-name{font-size:14px;font-weight:600;color:#FFF;line-height:1.2;font-family:'IBM Plex Sans',sans-serif;}
  .cb-status{font-size:11px;color:#4CAF82;display:flex;align-items:center;gap:4px;font-family:'IBM Plex Sans',sans-serif;}
  .cb-status::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#4CAF82;}
  .cb-xbtn{background:transparent;border:none;color:rgba(255,255,255,.7);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s;border-radius:6px;}
  .cb-xbtn:hover{color:#FFF;}
  .cb-xbtn svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;}
  .cb-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:9px;min-height:180px;max-height:340px;background:#F7F5FB;}
  .cb-msgs::-webkit-scrollbar{width:3px;}
  .cb-msgs::-webkit-scrollbar-thumb{background:rgba(61,26,107,.2);border-radius:2px;}
  .cb-msg{max-width:84%;font-size:13px;line-height:1.5;padding:8px 12px;border-radius:14px;word-break:break-word;animation:cbMsgIn .18s ease;font-family:'IBM Plex Sans',sans-serif;}
  @keyframes cbMsgIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
  .cb-bot{background:#FFF;color:#1A0A2E;border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 1px 4px rgba(61,26,107,.1);}
  .cb-usr{background:#3D1A6B;color:#FFF;border-bottom-right-radius:4px;align-self:flex-end;}
  .cb-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px;}
  .cb-pill{background:#FFF;border:1px solid rgba(61,26,107,.25);color:#3D1A6B;font-size:12px;padding:5px 10px;border-radius:20px;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:background .15s,border-color .15s;}
  .cb-pill:hover{background:#F0EBF8;border-color:rgba(61,26,107,.5);}
  .cb-pill:disabled{opacity:.45;cursor:default;}
  .cb-typing{display:flex;align-items:center;gap:5px;padding:9px 13px;background:#FFF;border-radius:14px;border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 1px 4px rgba(61,26,107,.1);}
  .cb-typing span{width:7px;height:7px;border-radius:50%;background:#C9A84C;animation:cbDot 1.2s infinite ease-in-out;}
  .cb-typing span:nth-child(2){animation-delay:.2s;}
  .cb-typing span:nth-child(3){animation-delay:.4s;}
  @keyframes cbDot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
  .cb-foot{padding:9px 11px;border-top:1px solid #EAE4F2;display:flex;gap:7px;align-items:center;background:#FFF;flex-shrink:0;}
  .cb-inp{flex:1;background:#F7F5FB;border:1px solid #DDD5EE;border-radius:22px;padding:8px 13px;font-size:13px;color:#1A0A2E;outline:none;font-family:'IBM Plex Sans',sans-serif;transition:border-color .15s;}
  .cb-inp::placeholder{color:#9B8BAF;}
  .cb-inp:focus{border-color:#3D1A6B;}
  .cb-send{width:35px;height:35px;border-radius:50%;background:#3D1A6B;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .12s;}
  .cb-send:hover{background:#5A2A9A;transform:scale(1.08);}
  .cb-send:disabled{background:#C5B8D8;cursor:default;transform:none;}
  .cb-send svg{width:15px;height:15px;stroke:#FFF;stroke-width:2;fill:none;}
/* Chatbot vlnkova ripple animace */
.cb-ring{position:absolute;inset:-4px;border-radius:50%;border:2px solid #C9A84C;opacity:0;animation:glejtRipple 2.4s ease-out infinite;pointer-events:none;}
.cb-ring:nth-child(1){animation-delay:0s;}
.cb-ring:nth-child(2){animation-delay:0.8s;}
.cb-ring:nth-child(3){animation-delay:1.6s;}
@keyframes glejtRipple{0%{transform:scale(1);opacity:0.7;}100%{transform:scale(1.85);opacity:0;}}


/* ═══════════════════════════════════════════
   CHATBOT / KB — záložky a KB položky
═══════════════════════════════════════════ */
/* R4c.2 28.5.: .ch-tab barvy pro bílou hlavičku (fialový brand místo zlatý) */
.ch-tab{padding:10px 18px;font-size:13px;cursor:pointer;color:#6B5B8A;border-bottom:2px solid transparent;transition:all 0.15s;user-select:none;}
.ch-tab:hover{color:#3D1A6B;background:#F4F0FB;}
.ch-tab.active{color:#2C1A4A;border-bottom-color:#3D1A6B;font-weight:500;}
.ch-kb-item{padding:10px 14px;border-bottom:0.5px solid var(--color-border-tertiary);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.ch-kb-item:last-child{border-bottom:none;}
.ch-kb-text{font-size:13px;color:var(--color-text-primary);flex:1;line-height:1.5;}
.ch-kb-date{font-size:11px;color:var(--color-text-secondary);white-space:nowrap;margin-top:2px;}
.ch-kb-del{padding:3px 8px;border:0.5px solid var(--color-border-secondary);border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:11px;cursor:pointer;flex-shrink:0;}
.ch-kb-del:hover{border-color:#E24B4A;color:#E24B4A;}

/* ═══════════════════════════════════════════
   NASTAVENÍ — karty, inputy, toggles, ceník
═══════════════════════════════════════════ */
.na-section-title{font-size:11px;font-weight:500;color:#3D1A6B;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;margin-top:20px;}
.na-section-title:first-of-type{margin-top:0;}
.na-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:20px;margin-bottom:4px;}
.na-label{display:block;font-size:11px;font-weight:500;color:var(--color-text-secondary);margin-bottom:5px;}
.na-input{width:100%;padding:8px 12px;border:0.5px solid var(--color-border-secondary);border-radius:8px;font-size:13px;background:var(--color-background-primary);color:var(--color-text-primary);box-sizing:border-box;}
.na-btn-save{padding:8px 20px;background:#3D1A6B;color:#C9A84C;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;}
.na-btn-neutral{padding:8px 16px;background:transparent;color:var(--color-text-secondary);border:0.5px solid var(--color-border-secondary);border-radius:8px;font-size:13px;cursor:pointer;}
.na-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:0.5px solid var(--color-border-tertiary);gap:16px;}
.na-toggle-label{font-size:13px;color:var(--color-text-primary);font-weight:500;}
.na-toggle-sub{font-size:11px;color:var(--color-text-secondary);margin-top:3px;}
.na-toggle{width:44px;height:24px;border-radius:12px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);position:relative;cursor:pointer;flex-shrink:0;transition:background 0.2s;}
.na-toggle::after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:var(--color-text-secondary);top:2px;left:2px;transition:transform 0.2s,background 0.2s;}
.na-toggle.active{background:#3D1A6B;border-color:#3D1A6B;}
.na-toggle.active::after{background:#C9A84C;transform:translateX(20px);}
.na-price-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.na-price-row:last-child{border-bottom:none;}
.na-price-name{font-size:13px;color:var(--color-text-primary);flex:1;}
.na-price-input{width:100px;padding:6px 10px;border:0.5px solid var(--color-border-secondary);border-radius:6px;font-size:13px;background:var(--color-background-primary);color:var(--color-text-primary);text-align:right;}
.na-price-unit{font-size:12px;color:var(--color-text-secondary);width:60px;}

/* ═══════════════════════════════════
   LAW AUDIT — LOADING ANIMACE v6
   ═══════════════════════════════════ */

@keyframes auditFloat {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-7px); }
}
@keyframes auditBlink {
  0%,100% { opacity: 1; }
  50%     { opacity: 0.25; }
}
@keyframes auditVdot {
  0%,100% { opacity: 0.2; }
  50%     { opacity: 1; }
}
@keyframes auditRingPulse {
  0%   { transform: scale(0.7); opacity: 0.6; }
  100% { transform: scale(1.5); opacity: 0; }
}
@keyframes auditOrb1 {
  from { transform: rotate(0deg)   translateX(90px)  rotate(0deg); }
  to   { transform: rotate(360deg) translateX(90px)  rotate(-360deg); }
}
@keyframes auditOrb2 {
  from { transform: rotate(72deg)  translateX(90px)  rotate(-72deg); }
  to   { transform: rotate(432deg) translateX(90px)  rotate(-432deg); }
}
@keyframes auditOrb3 {
  from { transform: rotate(144deg) translateX(90px)  rotate(-144deg); }
  to   { transform: rotate(504deg) translateX(90px)  rotate(-504deg); }
}
@keyframes auditOrb4 {
  from { transform: rotate(216deg) translateX(90px)  rotate(-216deg); }
  to   { transform: rotate(576deg) translateX(90px)  rotate(-576deg); }
}
@keyframes auditOrb5 {
  from { transform: rotate(288deg) translateX(90px)  rotate(-288deg); }
  to   { transform: rotate(648deg) translateX(90px)  rotate(-648deg); }
}
@keyframes auditOrb6 {
  from { transform: rotate(40deg)  translateX(120px) rotate(-40deg); }
  to   { transform: rotate(400deg) translateX(120px) rotate(-400deg); }
}
@keyframes auditOrb7 {
  from { transform: rotate(160deg) translateX(120px) rotate(-160deg); }
  to   { transform: rotate(520deg) translateX(120px) rotate(-520deg); }
}
@keyframes auditOrb8 {
  from { transform: rotate(280deg) translateX(120px) rotate(-280deg); }
  to   { transform: rotate(640deg) translateX(120px) rotate(-640deg); }
}
@keyframes auditParticle {
  0%   { transform: translateY(400px); opacity: 0; }
  10%  { opacity: 0.5; }
  85%  { opacity: 0.15; }
  100% { transform: translateY(-60px); opacity: 0; }
}
@keyframes auditStepBlink {
  0%,100% { opacity: 1; }
  50%     { opacity: 0.3; }
}
@keyframes reportDotPulse {
  0%,100% { opacity: 0.2; transform: scale(0.8); }
  50%     { opacity: 1;   transform: scale(1.2); }
}
@keyframes reportBarShimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@keyframes reportFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Hex stage */
.audit-hex-stage {
  width: 220px; height: 220px;
  position: relative;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 28px;
}
.audit-main-logo {
  animation: auditFloat 3s ease-in-out infinite;
  position: relative; z-index: 2;
}
.audit-orbit-center {
  position: absolute; top: 50%; left: 50%;
  width: 0; height: 0; z-index: 1;
}
.audit-mini-hex { position: absolute; top: -10px; left: -10px; }
.audit-o1 { animation: auditOrb1 3.5s linear infinite; }
.audit-o2 { animation: auditOrb2 3.5s linear infinite; }
.audit-o3 { animation: auditOrb3 3.5s linear infinite; }
.audit-o4 { animation: auditOrb4 3.5s linear infinite; }
.audit-o5 { animation: auditOrb5 3.5s linear infinite; }
.audit-o6 { animation: auditOrb6 5.5s linear infinite; animation-direction: reverse; }
.audit-o7 { animation: auditOrb7 5.5s linear infinite; animation-direction: reverse; }
.audit-o8 { animation: auditOrb8 5.5s linear infinite; animation-direction: reverse; }
.audit-ring {
  position: absolute;
  top: 50%; left: 50%;
  width: 150px; height: 150px;
  margin-top: -75px; margin-left: -75px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,0.4);
  pointer-events: none;
  transform-origin: center center;
  animation: auditRingPulse 2.4s ease-out infinite;
}
.audit-ring1 { animation-delay: 0s; }
.audit-ring2 { animation-delay: 0.8s; }
.audit-ring3 { animation-delay: 1.6s; }
.audit-vdot  { animation: auditVdot 1.5s ease-in-out infinite; }
.audit-pw    { width: 300px; margin-bottom: 6px; display: flex; flex-direction: column; align-items: center; }
.audit-pt    { height: 3px; background: rgba(255,255,255,0.08); border-radius: 2px; overflow: hidden; width: 100%; margin-bottom: 6px; }
.audit-pf    { height: 100%; background: #C9A84C; border-radius: 2px; width: 0%; transition: width 1s linear; }
.audit-pp    { font-size: 13px; color: #C9A84C; text-align: center; width: 100%; margin-bottom: 20px; font-family: monospace; letter-spacing: 1px; }
.audit-tt    { font-size: 15px; color: rgba(255,255,255,0.92); font-weight: 500; margin-bottom: 5px; text-align: center; }
.audit-st    { font-size: 11px; color: rgba(255,255,255,0.28); margin-bottom: 20px; text-align: center; font-family: monospace; letter-spacing: 0.5px; animation: auditBlink 2s infinite; }
.audit-steps { width: 300px; display: flex; flex-direction: column; gap: 0; }
.audit-step  { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: rgba(255,255,255,0.2); opacity: 0; padding: 4px 0; border-bottom: 0.5px solid rgba(255,255,255,0.04); transition: all 0.4s ease; gap: 8px; }
.audit-step:last-child { border-bottom: none; }
.audit-step.active { color: rgba(255,255,255,0.9); opacity: 1; }
.audit-step.done   { color: rgba(201,168,76,0.6); opacity: 1; }
.audit-step-name   { flex: 1; font-size: 11px; letter-spacing: 0.3px; }
.audit-step-status { font-size: 10px; flex-shrink: 0; width: 16px; text-align: right; color: rgba(255,255,255,0.15); }
.audit-step.active .audit-step-status { color: #C9A84C; animation: auditStepBlink 0.8s infinite; }
.audit-step.done   .audit-step-status { color: #C9A84C; animation: none; }
.audit-particle    { position: absolute; width: 2px; height: 2px; border-radius: 50%; background: #C9A84C; opacity: 0; }

/* ═══════════════════════════════
   FÁZE 2 — GENEROVÁNÍ REPORTU
   ═══════════════════════════════ */
.report-gen {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  animation: reportFadeIn 0.5s ease;
  width: 300px;
}
.report-dots { display: flex; gap: 8px; align-items: center; }
.report-dot  {
  width: 8px; height: 8px; border-radius: 50%;
  background: #C9A84C;
  animation: reportDotPulse 1.2s ease-in-out infinite;
}
.report-dot:nth-child(1) { animation-delay: 0s; }
.report-dot:nth-child(2) { animation-delay: 0.2s; }
.report-dot:nth-child(3) { animation-delay: 0.4s; }
.report-dot:nth-child(4) { animation-delay: 0.6s; }
.report-dot:nth-child(5) { animation-delay: 0.8s; }
.report-mini-bar-wrap { width: 100%; background: rgba(255,255,255,0.06); border-radius: 4px; height: 4px; overflow: hidden; }
.report-mini-bar {
  height: 100%; width: 100%; border-radius: 4px;
  background: linear-gradient(90deg, #3D1A6B, #C9A84C, #3D1A6B);
  background-size: 200% 100%;
  animation: reportBarShimmer 1.5s linear infinite;
}
.report-gen-text { font-size: 13px; color: rgba(255,255,255,0.7); font-weight: 500; text-align: center; }
.report-gen-sub  { font-size: 11px; color: rgba(255,255,255,0.25); text-align: center; font-family: monospace; margin-top: 4px; animation: auditBlink 1.5s infinite; }
.report-checks   { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.report-check    { display: flex; align-items: center; gap: 8px; font-size: 11px; color: rgba(255,255,255,0.2); opacity: 0; transition: all 0.4s ease; }
.report-check.done { color: rgba(201,168,76,0.7); opacity: 1; }
.report-check-icon { font-size: 11px; flex-shrink: 0; }


/* ═══════════════════════════════════════════════════════
   RESPONZIVITA — Mobil a tablet  |  glejt.cz
   Breakpointy: Tablet ≤1024px · Mobil ≤768px · Mobil S ≤480px
   ═══════════════════════════════════════════════════════ */

/* Hamburger + mobile nav — na desktopu skryto */
.glejt-hamburger { display: none; }
.glejt-mobile-nav { display: none; }

/* ── TABLET — max-width: 1024px ──────────────────────── */
@media (max-width: 1024px) {
  .ps-header     { padding: 14px 28px; }
  .ps-grid       { grid-template-columns: repeat(2, 1fr); }
  .ps-hero-title { font-size: 36px; }
  .ps-hero       { padding: 32px 20px 28px; }
  .adm-stats-grid{ grid-template-columns: repeat(3, 1fr) !important; gap: 14px; }
}

/* ── MOBIL — max-width: 768px ────────────────────────── */
@media (max-width: 768px) {

  /* Navigační header */
  .ps-header      { padding: 11px 16px; gap: 8px; }
  .ps-logo-name   { font-size: 14px; letter-spacing: 2px; }
  .ps-logo-sub    { display: none; }
  .ps-logo-hex    { width: 36px !important; height: 36px !important; }
  .ps-reg-btn     { display: none !important; }

  /* Hamburger tlacitko */
  .glejt-hamburger {
    display: flex !important;
    background: none; border: none; cursor: pointer;
    flex-direction: column; justify-content: center; align-items: center;
    gap: 5px; padding: 8px; border-radius: 8px; margin-left: auto;
    transition: background .2s; flex-shrink: 0;
  }
  .glejt-hamburger:hover { background: rgba(255,255,255,0.1); }
  .glejt-hamburger span {
    display: block; width: 22px; height: 2px;
    background: #C9A84C; border-radius: 1px; transition: all .25s;
  }
  .glejt-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .glejt-hamburger.open span:nth-child(2) { opacity: 0; }
  .glejt-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Mobilni menu overlay */
  .glejt-mobile-nav {
    position: fixed; inset: 0; background: #1A0A2E;
    z-index: 10000; flex-direction: column;
    align-items: center; justify-content: center; gap: 0;
  }
  .glejt-mobile-nav.open { display: flex; animation: gmNavIn .22s ease; }
  @keyframes gmNavIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
  .glejt-mobile-nav a {
    font-family: 'DM Serif Display', serif; font-size: 22px;
    color: rgba(255,255,255,0.85); text-decoration: none;
    padding: 14px 40px; border-radius: 10px; width: 100%; text-align: center;
    transition: color .2s, background .2s;
  }
  .glejt-mobile-nav a:hover, .glejt-mobile-nav a:active { color: #C9A84C; background: rgba(201,168,76,0.08); }
  .glejt-mobile-nav-close {
    position: absolute; top: 18px; right: 18px;
    background: none; border: none; color: rgba(255,255,255,0.45);
    font-size: 28px; cursor: pointer; padding: 10px; line-height: 1;
    border-radius: 8px; transition: color .2s, background .2s;
  }
  .glejt-mobile-nav-close:hover { color: #C9A84C; background: rgba(201,168,76,0.08); }
  .glejt-mobile-nav-divider {
    width: 48px; height: 1px; background: rgba(201,168,76,0.25); margin: 8px 0;
  }

  /* Hero sekce */
  .ps-body       { padding: 0 12px 24px; }
  /* OVERFLOW1 29.5.: zarazit horizontal pan na mobilu (defense-in-depth proti overflow-y:auto → overflow-x:auto quirk) */
  .ps-body       { overflow-x: clip; }
  /* OVERFLOW1 29.5.: patička — wrap odkazů na mobilu, žádné squish/ořezání textu */
  .ps-footer-links {
    flex-wrap: wrap;
    gap: 8px 14px;
    justify-content: center;
    width: 100%;
  }
  /* DAVKAA 29.5.: K1 — Modal Nastavení firmy 4 taby wrap (Logo firmy přetékala +20px) */
  .firma-sm-tabs {
    flex-wrap: wrap;
    gap: 4px;
    padding: 12px 12px 0;
  }
  .firma-sm-tab {
    padding: 8px 10px;
    font-size: 11px;
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
  }
  /* DAVKAA 29.5.: K2 — AML kurz úvod, 3 fáze na 1 sloupec na mobilu (předtím repeat(3,1fr) přetékalo) */
  .aml-phases {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .aml-phase {
    padding: 14px 16px;
  }
  /* K1 29.5.: pravidla pro #bal-kalk-souhlasy přesunuta do BASE CSS (sjednocení desktop+mobile) — viz sekce CONSENT-LAYOUT */
  .ps-hero       { padding: 22px 0 18px; }
  .ps-hero-title { font-size: clamp(22px, 6vw, 32px) !important; line-height: 1.2; }
  .ps-hero-sub   { font-size: 14px !important; max-width: 100%; }
  .ps-hero-badges {
    flex-wrap: wrap; gap: 6px; padding: 8px 14px;
    border-radius: 12px; justify-content: center;
  }
  .ps-hero-badge-item {
    padding: 4px 10px !important; border-right: none !important;
    font-size: 12px;
  }
  .ps-hero-badge-item:not(:last-child) { border-right: none !important; }

  /* Countery */
  .ps-counter-item { padding: 0 10px; }
  .ps-counter-num  { font-size: 22px; }
  .ps-counter-lbl  { font-size: 10px; }

  /* Produkt grid — 1 sloupec */
  .ps-grid  { grid-template-columns: 1fr !important; gap: 12px; }
  .ps-title { font-size: 18px; }
  .ps-sub   { font-size: 13px; margin-bottom: 20px; }

  /* Produktove karty */
  .ps-tile { padding: 20px 18px; }
  .ps-tile-icon-box { margin-bottom: 10px; }

  /* Admin — sidebar → horizontalni pruh nahore */
  .adm-body       { flex-direction: column !important; overflow: visible !important; min-height: 0; }
  .adm-sidebar {
    width: 100% !important; min-width: unset !important; max-width: unset !important;
    position: relative !important; top: 0 !important; left: 0 !important;
    height: auto !important; border-right: none !important;
    border-bottom: 1px solid rgba(201,168,76,0.08); flex-direction: row !important;
  }
  .adm-sidebar-logo, .adm-sidebar-footer { display: none !important; }
  .adm-nav-group {
    display: flex !important; flex-direction: row !important; flex: unset !important;
    padding: 5px 8px !important; overflow-x: auto !important; gap: 2px;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .adm-nav-group::-webkit-scrollbar { display: none; }
  .adm-nav-group-label { display: none !important; }
  .adm-nav-item {
    white-space: nowrap !important; padding: 7px 11px !important;
    font-size: 12px !important; margin: 0 !important; flex-shrink: 0;
  }
  .adm-nav-item svg { width: 14px !important; height: 14px !important; }
  .adm-content {
    margin-left: 0 !important; width: 100% !important;
    padding: 16px !important; height: auto !important; overflow-y: visible !important;
  }
  .adm-stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; }

  /* Tabulky — scroll */
  .adm-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Modaly */
  #talisman-modal { padding: 12px; }
  .talisman-card  { padding: 24px 18px; max-width: 100%; }

  /* iOS: 16px zabrání automatickému zoomu na focus */
  input[type="text"], input[type="email"], input[type="tel"],
  input[type="password"], input[type="number"], input[type="search"],
  select, textarea { font-size: 16px !important; }

  /* Carousel indikátory — kompaktní velikost na mobilu (override generic button min-height) */
  /* Vizuál malý (8x8 / 20x8 pilulka), hit area 44px přes padding (touch target compliance) */
  .ps-slider-dots { gap: 6px; }
  .ps-slider-dot {
    min-height: 0 !important;       /* zruší generic button min-height:44px níže */
    width: 8px;
    height: 8px;
    padding: 18px 6px !important;   /* hit area: 8+36=44px vertikálně, 8+12=20px horizontálně */
    background-clip: content-box;   /* barvu vykreslit jen v content-boxu (8x8), ne v padding zóně */
    box-sizing: content-box;        /* width/height = content area; hit area roste z paddingu */
  }
  .ps-slider-dot.active {
    width: 8px;                     /* aktivní = kruh 8x8 (stejný rozměr jako neaktivní, odlišení POUZE barvou) */
    border-radius: 50%;             /* kruh, ne pilulka */
    transform: none;                /* vypnout scale na mobilu */
    background-color: #3D1A6B;      /* tmavě fialová (brand primary) — explicit, desktop pouziva shorthand */
    background-clip: content-box;   /* barva jen v content-boxu (8x8), padding zone transparent */
  }

  /* Dostatecne velke touch targety */
  button:not(.glejt-hamburger):not(.glejt-mobile-nav-close) { min-height: 44px; }
}

/* ── MALY MOBIL — max-width: 480px ──────────────────── */
@media (max-width: 480px) {
  .ps-hero-title  { font-size: 20px !important; }
  .ps-hero-badges { display: none; }
  .ps-counters    { max-width: 100%; }
  .ps-counter-item{ padding: 0 6px; }
  .ps-counter-num { font-size: 18px; }
  .ps-counter-lbl { font-size: 9px; }
  .adm-stats-grid { grid-template-columns: 1fr 1fr !important; gap: 8px; }
  .adm-stat-val   { font-size: 22px; }
}


/* Footer — firemni udaje */
.ps-footer-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:220px;padding:0 24px;}
.ps-footer-info-line{font-size:11px;color:rgba(255,255,255,0.45);line-height:1.5;}
@media(max-width:768px){.ps-footer-info{padding:8px 0;order:3;width:100%;}}

/* ═══ MVP1 c2: PDF download loading spinner (VN-MVP1-6) ═══ */
@keyframes fa-pdf-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
#fa-modal-pdf-btn.loading {
  opacity: 0.7;
  cursor: wait;
}
#fa-modal-pdf-btn.loading::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: fa-pdf-spin 0.7s linear infinite;
  margin-right: 6px;
  vertical-align: middle;
}

/* ═══ MVP1 c2: Stav badges barvy (VN-MVP1-12) ═══ */
[class^="fa-stav-"] {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.fa-stav-zaplaceno {
  background: #D4EDDA; color: #155724;
  border: 1px solid #C3E6CB;
}
.fa-stav-cekajici {
  background: #FFF3CD; color: #856404;
  border: 1px solid #FFEEBA;
}
.fa-stav-po_splatnosti {
  background: #F8D7DA; color: #721C24;
  border: 1px solid #F5C6CB;
}
.fa-stav-storno {
  background: #E2E3E5; color: #383D41;
  border: 1px solid #D6D8DB;
  text-decoration: line-through;
}

/* MVP2 c2: autocomplete dropdown pro modal-fa-nova (user search) */
.fa-ac-results {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  background: #FFFFFF;
  border: 1px solid #E8E0F5;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(61, 26, 107, 0.15);
  z-index: 1;
  max-height: 250px;
  overflow-y: auto;
  padding: 4px 0;
}
.fa-ac-results[hidden] { display: none; }
.fa-ac-results .fa-ac-item {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 13px;
  color: #1A0A2E;
  line-height: 1.4;
}
.fa-ac-results .fa-ac-item:hover,
.fa-ac-results .fa-ac-item.active {
  background: #F4EEFF;
}
.fa-ac-results .fa-ac-item .fa-ac-email {
  font-size: 11px;
  color: #6B5B8A;
  margin-top: 2px;
}
.fa-ac-results .fa-ac-empty {
  padding: 8px 12px;
  font-size: 12px;
  color: #6B5B8A;
  font-style: italic;
}
.fa-ac-selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #F4EEFF;
  border: 1px solid #DDD5EE;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 13px;
  color: #1A0A2E;
}
.fa-ac-selected[hidden] { display: none; }
.fa-ac-selected .fa-ac-sel-email {
  font-size: 11px;
  color: #6B5B8A;
  display: block;
  margin-top: 2px;
}
.fa-ac-selected .fa-ac-sel-reset {
  background: transparent;
  border: none;
  color: #6B5B8A;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
  flex-shrink: 0;
}
.fa-ac-selected .fa-ac-sel-reset:hover {
  color: #791F1F;
}

/* ════════════════════════════════════════════════════════════
   Utility Classes (Phase B — AV reputation refactor)
   Eliminace inline style="..." patterns identifikovaných v top 10.
   Pozor: BEZ !important — JS `el.style.X = ...` musí mít vyšší
   specificitu (inline > class).
   ════════════════════════════════════════════════════════════ */
.gl-hidden { display: none; }
.gl-tx-gold { color: #C9A84C; }
.gl-flex-shrink-0 { flex-shrink: 0; }
.gl-icon-red {
  color: #E24B4A;
  flex-shrink: 0;
  margin-top: 1px;
}
.gl-tx-muted-purple {
  font-size: 13px;
  color: rgba(232, 213, 255, 0.6);
}
.gl-progress-empty { width: 0%; }
.gl-th-cell {
  padding: 11px 16px;
  text-align: left;
  font-size: 11px;
  font-weight: 500;
  color: var(--color-text-secondary);
  letter-spacing: 0.5px;
}
.gl-th-cell-sortable {
  padding: 11px 16px;
  text-align: left;
  font-size: 11px;
  font-weight: 500;
  color: var(--color-text-secondary);
  cursor: pointer;
  user-select: none;
}
.gl-form-label-uc {
  display: block;
  font-size: 10px;
  font-weight: 500;
  color: #3D1A6B;
  letter-spacing: 1px;
  margin-bottom: 5px;
}
.gl-form-label-uc-2 {
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: var(--color-text-secondary);
  margin-bottom: 5px;
}
.gl-glejt-brand {
  font-family: 'DM Serif Display', serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #C9A84C;
}
.gl-glejt-brand-sm {
  font-size: 9px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 2px;
  text-transform: uppercase;
}
.gl-modal-title {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
}


/* ═══ ESG Assessment A4.1 ═══ */
.esg-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 16px;
}
@media (max-width: 768px) {
    .esg-layout { grid-template-columns: 1fr; }
}
.esg-sidebar-box {
    background: #fff;
    border-radius: 12px;
    border: 0.5px solid rgba(61,26,107,0.15);
    padding: 12px;
    align-self: start;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
}
.esg-content-box {
    background: #fff;
    border-radius: 12px;
    border: 0.5px solid rgba(61,26,107,0.15);
    padding: 28px;
    min-height: 500px;
}
.esg-sb-header {
    margin: 12px 8px 6px;
    font-size: 11px;
    color: rgba(61,26,107,0.4);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.esg-sb-loading {
    margin: 8px;
    font-size: 12px;
    color: rgba(61,26,107,0.5);
}
.esg-sb-item {
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 13px;
    color: rgba(61,26,107,0.7);
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.esg-sb-item:hover { background: #F4EFFB; color: #3D1A6B; }
.esg-sb-item.esg-sb-active { background: #EEEDFE; color: #3D1A6B; font-weight: 500; }
.esg-sb-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.esg-sb-check { color: #1D9E75; font-weight: 600; }
.esg-sb-count { font-size: 11px; color: rgba(61,26,107,0.5); background: #F0EBF9; padding: 2px 6px; border-radius: 10px; }
.esg-q { margin-bottom: 24px; }
.esg-q-label { display: block; font-size: 14px; font-weight: 500; margin-bottom: 8px; color: #3D1A6B; line-height: 1.4; }
.esg-q-req { color: #E24B4A; margin-left: 2px; }
.esg-q-help { margin: 6px 0 0; font-size: 12px; color: rgba(61,26,107,0.5); }
.esg-q-sublabel { display: block; font-size: 12px; color: rgba(61,26,107,0.6); margin: 4px 0; }
.esg-q-subgroup { margin-top: 8px; }
.esg-q input[type="text"],
.esg-q input[type="number"],
.esg-q select,
.esg-q textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid rgba(61,26,107,0.2);
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    color: #1A0A2E;
    background: #fff;
    box-sizing: border-box;
}
.esg-q input:focus, .esg-q select:focus, .esg-q textarea:focus {
    outline: none;
    border-color: #6B3FA0;
    box-shadow: 0 0 0 3px rgba(107,63,160,0.1);
}
.esg-q-checkboxes { display: flex; flex-direction: column; gap: 8px; }
.esg-q-checkbox { display: flex; align-items: center; gap: 8px; padding: 6px 10px; background: #F8F4FF; border-radius: 6px; cursor: pointer; font-size: 13px; color: #3D1A6B; }
.esg-q-checkbox input { width: 16px; height: 16px; accent-color: #6B3FA0; }
.esg-q-yn { display: flex; gap: 10px; }
.esg-yn-btn {
    flex: 1;
    padding: 10px 16px;
    border: 1px solid rgba(61,26,107,0.2);
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    color: rgba(61,26,107,0.7);
    cursor: pointer;
    font-family: inherit;
    transition: all .15s;
}
.esg-yn-btn:hover { background: #F4EFFB; }
.esg-yn-btn.esg-yn-active { background: #6B3FA0; color: #fff; border-color: #6B3FA0; font-weight: 500; }
.esg-nav { display: flex; justify-content: space-between; align-items: center; padding-top: 24px; margin-top: 32px; border-top: 0.5px solid rgba(61,26,107,0.1); gap: 12px; }
.esg-nav button {
    padding: 10px 18px;
    border-radius: 8px;
    border: 0.5px solid rgba(61,26,107,0.2);
    background: #fff;
    font-size: 14px;
    cursor: pointer;
    font-family: inherit;
    color: #3D1A6B;
    transition: background .15s;
}
.esg-nav button:hover { background: #F4EFFB; }
.esg-nav button.esg-btn-primary { background: #6B3FA0; color: #fff; border-color: #6B3FA0; font-weight: 500; }
.esg-nav button.esg-btn-primary:hover { background: #5A2F8A; }

/* ═══ ESG A4.2 — NP overview + Loading modal + Success modal ═══ */
.esg-np-overview { display: flex; flex-direction: column; gap: 24px; }
.esg-status-card { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-radius: 12px; border: 0.5px solid rgba(61,26,107,0.15); }
.esg-status-card.esg-status-success { background: linear-gradient(135deg, #E8F5E0 0%, #F0EBF9 100%); border-color: rgba(29, 158, 117, 0.3); }
.esg-status-card.esg-status-progress { background: #F8F4FF; border-color: rgba(201, 168, 76, 0.4); }
.esg-status-icon { font-size: 28px; flex-shrink: 0; }
.esg-status-card.esg-status-success .esg-status-icon { color: #1D9E75; }
.esg-status-card.esg-status-progress .esg-status-icon { color: #C9A84C; }
.esg-status-text h3 { margin: 0 0 4px; font-family: 'DM Serif Display', serif; font-size: 18px; color: #3D1A6B; }
.esg-status-text p { margin: 0; font-size: 13px; color: rgba(61,26,107,0.65); }
.esg-np-heading { font-family: 'DM Serif Display', serif; font-size: 20px; color: #3D1A6B; margin: 8px 0 4px; }
.esg-np-sub { margin: 0 0 12px; font-size: 13px; color: rgba(61,26,107,0.6); }
.esg-np-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.esg-np-card { background: #fff; border: 0.5px solid rgba(61,26,107,0.15); border-radius: 12px; padding: 16px; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.esg-np-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(61,26,107,0.08); }
.esg-np-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.esg-np-card-id { font-size: 11px; font-weight: 600; color: rgba(61,26,107,0.5); letter-spacing: 1px; }
.esg-np-badge { font-size: 11px; font-weight: 500; padding: 3px 8px; border-radius: 10px; }
.esg-np-badge-success { background: #DCF1E5; color: #1D9E75; }
.esg-np-badge-info { background: #E3DEFC; color: #6B3FA0; }
.esg-np-badge-tertiary { background: #F0EBF9; color: rgba(61,26,107,0.5); }
.esg-np-card-title { margin: 0 0 12px; font-size: 14px; font-weight: 500; color: #3D1A6B; }
.esg-np-card-btn { width: 100%; padding: 8px 12px; border: 0.5px solid rgba(61,26,107,0.2); background: #fff; color: #6B3FA0; border-radius: 8px; font-size: 12px; cursor: pointer; font-family: inherit; }
.esg-np-card-btn:hover { background: #F4EFFB; }

.esg-generate-wrap { margin-top: 24px; text-align: center; padding: 20px; background: #F8F4FF; border-radius: 12px; border: 0.5px dashed rgba(107,63,160,0.3); }
.esg-btn-generate { padding: 14px 28px; font-size: 15px; font-weight: 600; background: #6B3FA0; color: #fff; border: none; border-radius: 10px; cursor: pointer; font-family: inherit; transition: background .15s; }
.esg-btn-generate:hover:not(:disabled) { background: #5A2F8A; }
.esg-btn-generate:disabled { background: rgba(107,63,160,0.4); cursor: not-allowed; }
.esg-generate-hint { margin: 12px 0 0; font-size: 13px; color: rgba(61,26,107,0.6); }

.esg-success-card { background: linear-gradient(135deg, #E8F5E0 0%, #F8F4FF 100%); border: 0.5px solid rgba(29,158,117,0.3); border-radius: 12px; padding: 20px 24px; }
.esg-success-card h3 { margin: 0 0 6px; font-family: 'DM Serif Display', serif; color: #1D9E75; font-size: 18px; }
.esg-success-card p { margin: 0 0 14px; font-size: 13px; color: rgba(61,26,107,0.7); }
.esg-success-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.esg-success-actions a, .esg-success-actions button { padding: 10px 16px; border-radius: 8px; text-decoration: none; font-size: 13px; font-weight: 500; cursor: pointer; font-family: inherit; }
.esg-btn-primary { background: #6B3FA0; color: #fff; border: none; }
.esg-btn-primary:hover { background: #5A2F8A; }
.esg-btn-secondary { background: #fff; color: #3D1A6B; border: 0.5px solid rgba(61,26,107,0.2); }
.esg-btn-secondary:hover { background: #F4EFFB; }

/* Loading modal */
.esg-loading-modal { background: #fff; border-radius: 16px; padding: 32px 40px; max-width: 480px; width: 90%; text-align: center; box-shadow: 0 12px 48px rgba(45,22,84,0.3); }
.esg-loading-spinner { width: 48px; height: 48px; border: 4px solid rgba(107,63,160,0.2); border-top-color: #6B3FA0; border-radius: 50%; margin: 0 auto 20px; animation: esg-spin 1s linear infinite; }
@keyframes esg-spin { to { transform: rotate(360deg); } }
.esg-loading-status { font-size: 15px; color: #6B3FA0; margin: 16px 0 8px; font-weight: 500; }
.esg-loading-reassure { font-size: 13px; color: rgba(61,26,107,0.65); margin: 16px 0; line-height: 1.6; }
.esg-loading-phases { display: flex; flex-direction: column; gap: 6px; margin-top: 20px; text-align: left; }
.esg-loading-phases .esg-phase { font-size: 13px; color: rgba(61,26,107,0.4); padding: 6px 12px; border-radius: 6px; }
.esg-loading-phases .esg-phase.active { background: #EEEDFE; color: #3D1A6B; font-weight: 500; }
.esg-loading-phases .esg-phase.done { color: #1D9E75; }
.esg-loading-phases .esg-phase.done::before { content: '✓ '; }

/* Success modal overlay */
.esg-modal-overlay { position: fixed; top:0; left:0; right:0; bottom:0; background: rgba(0,0,0,0.6); z-index: 9999; display: flex; align-items: center; justify-content: center; }
.esg-modal-box { background: #fff; border-radius: 16px; padding: 36px 40px; max-width: 480px; width: 90%; text-align: center; box-shadow: 0 12px 48px rgba(45,22,84,0.3); }

/* ═══ ESG A4.3 — Profile entry points ═══ */
.prof-esg-card { background:#fff; border:0.5px solid rgba(61,26,107,0.15); border-radius:12px; padding:20px 24px; margin:16px 0; display:flex; gap:16px; align-items:flex-start; }
.prof-esg-icon { font-size:32px; flex-shrink:0; }
.prof-esg-body { flex:1; }
.prof-esg-body h3 { margin:0 0 6px; color:#3D1A6B; font-family:'DM Serif Display',serif; font-size:18px; }
.prof-esg-body p { margin:0 0 8px; color:rgba(61,26,107,0.7); font-size:13px; line-height:1.5; }
.prof-esg-progress { font-size:13px !important; color:rgba(61,26,107,0.6) !important; margin:8px 0 12px !important; font-weight:500; }
.prof-esg-btn { background:#6B3FA0; color:#fff; border:none; padding:10px 20px; border-radius:8px; cursor:pointer; font-size:14px; font-family:inherit; font-weight:500; transition:background .15s; }
.prof-esg-btn:hover { background:#5A2F8A; }

.prof-esg-completed { background:linear-gradient(135deg,#E8F5E0 0%,#F8F4FF 100%); border:0.5px solid rgba(29,158,117,0.3); border-radius:12px; padding:20px 24px; margin:16px 0; }
.prof-esg-completed h3 { margin:0 0 4px; color:#3D1A6B; font-family:'DM Serif Display',serif; font-size:18px; }
.prof-esg-sub { margin:0 0 14px; font-size:13px; color:rgba(61,26,107,0.65); }
.prof-esg-tiles { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:600px) { .prof-esg-tiles { grid-template-columns:1fr; } }
.prof-esg-tile { background:#fff; border:0.5px solid rgba(61,26,107,0.15); border-radius:10px; padding:14px 16px; text-decoration:none; color:inherit; display:flex; gap:12px; align-items:center; transition:background .15s,transform .15s; }
.prof-esg-tile:hover { background:#F4EFFB; transform:translateY(-1px); }
.prof-esg-tile-icon { font-size:24px; flex-shrink:0; }
.prof-esg-tile strong { color:#3D1A6B; font-size:13px; display:block; }
.prof-esg-tile span { color:rgba(61,26,107,0.6); font-size:11px; }

/* F2A.2 27.5.: Admin modal Editace účtu — tab buttons (FO/OSVČ/PO + role) */
.mu-tab-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1.5px solid #E4DAF5;background:#fff;color:#6B5B8A;font-family:inherit;transition:all .15s;}
.mu-tab-btn:hover{border-color:#C7B5E8;color:#3D1A6B;}
.mu-tab-btn.active{background:#3D1A6B;color:#fff;border-color:#3D1A6B;box-shadow:0 2px 8px rgba(61,26,107,0.22);}

/* ────────────────────────────────────────────────────────────────
 * F8-VIS 28.5.: Admin Certifikáty — visual polish
 *   Doplňuje CSS pro .ce-* třídy referenced v admin.js ceRender.
 *   Předtím chyběly → JS render padal na browser default (plain text).
 * ──────────────────────────────────────────────────────────────── */

/* Číslo certifikátu — monospace tag */
.ce-cislo {
  font-family: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 600;
  color: #3D1A6B;
  background: #F8F4FF;
  padding: 3px 9px;
  border-radius: 6px;
  letter-spacing: 0.3px;
  border: 1px solid #EDE5F9;
}

/* Status badge (Stav sloupec) */
.ce-stav-plat,
.ce-stav-brzy,
.ce-stav-exp {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2px;
  white-space: nowrap;
}
.ce-stav-plat { background: #DCFCE7; color: #166534; }
.ce-stav-plat::before { content: '●'; color: #22C55E; font-size: 10px; line-height: 1; }
.ce-stav-brzy { background: #FEF3C7; color: #854F0B; }
.ce-stav-brzy::before { content: '⚠'; font-size: 11px; }
.ce-stav-exp { background: #FEE2E2; color: #991B1B; }
.ce-stav-exp::before { content: '●'; color: #DC2626; font-size: 10px; line-height: 1; }

/* Progress bar (Zbývá sloupec) */
.ce-exp-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 130px;
}
.ce-exp-track {
  flex: 1;
  height: 6px;
  background: #F0EBF8;
  border-radius: 3px;
  overflow: hidden;
  min-width: 70px;
}
.ce-exp-fill-ok,
.ce-exp-fill-warn,
.ce-exp-fill-exp {
  height: 100%;
  border-radius: 3px;
  transition: width .3s ease;
}
.ce-exp-fill-ok   { background: linear-gradient(90deg, #22C55E, #16A34A); }
.ce-exp-fill-warn { background: linear-gradient(90deg, #F59E0B, #D97706); }
.ce-exp-fill-exp  { background: linear-gradient(90deg, #EF4444, #DC2626); }

/* Email prolongace status */
.ce-email-sent { color: #166534; font-size: 11px; font-weight: 500; }
.ce-email-clicked { color: #1E40AF; font-size: 11px; font-weight: 600; }
.ce-email-pending { color: #854F0B; font-size: 11px; }
.ce-email-none { color: #8B7AAA; font-size: 11px; font-style: italic; }

/* Expirovaný řádek — subtle red tint */
.ce-row-exp { background: rgba(254, 226, 226, 0.22); }
.ce-row-exp:hover { background: rgba(254, 226, 226, 0.42) !important; }

/* Sort icony — lépe viditelné + active state */
.ce-sort-ico {
  color: #C5B5E0;
  font-size: 10px;
  margin-left: 4px;
  transition: color .15s;
  display: inline-block;
  vertical-align: middle;
}
#adm-sec-certifikaty th[data-action="ceSort"] { cursor: pointer; }
#adm-sec-certifikaty th[data-action="ceSort"]:hover .ce-sort-ico { color: #5B3B8C; }
#adm-sec-certifikaty th.ce-th-active { color: #3D1A6B !important; }
#adm-sec-certifikaty th.ce-th-active .ce-sort-ico { color: #3D1A6B !important; font-weight: 700; }

/* Tabulka — hover row + zebra stripping */
#ce-table tbody tr {
  border-bottom: 1px solid #F0EBF8;
  transition: background .12s;
}
#ce-table tbody tr:nth-child(even):not(.ce-row-exp) {
  background: rgba(248, 244, 255, 0.35);
}
#ce-table tbody tr:hover {
  background: rgba(232, 224, 245, 0.55) !important;
}

/* Akce ikon-buttons — modern hover */
#ce-table tbody button {
  transition: all .15s;
}
#ce-table tbody button:hover {
  background: #F0EBF8 !important;
  border-color: #5B3B8C !important;
  color: #3D1A6B !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(61, 26, 107, 0.12);
}

/* Search input + filter selects — focus state */
#ce-search:focus,
#ce-filter-stav:focus,
#ce-filter-kurz:focus,
#ce-filter-email:focus {
  border-color: #5B3B8C !important;
  box-shadow: 0 0 0 3px rgba(91, 59, 140, 0.10);
}

/* Search input — lupa SVG ikona */
#ce-search {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B7AAA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.35-4.35'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: 12px center !important;
  background-size: 15px !important;
  padding-left: 38px !important;
}

/* Stat card accent — colored top border per typ (overrides default purple gradient) */
#adm-sec-certifikaty .adm-stat-card[data-cert-stat="celkem"]::after {
  background: linear-gradient(90deg, #3D1A6B, #5B3B8C);
}
#adm-sec-certifikaty .adm-stat-card[data-cert-stat="platnych"]::after {
  background: linear-gradient(90deg, #166534, #22C55E);
}
#adm-sec-certifikaty .adm-stat-card[data-cert-stat="brzy"]::after {
  background: linear-gradient(90deg, #854F0B, #F59E0B);
}
#adm-sec-certifikaty .adm-stat-card[data-cert-stat="exp"]::after {
  background: linear-gradient(90deg, #791F1F, #EF4444);
}

/* Tabulka header — clean style */
#ce-table thead th {
  text-transform: uppercase;
  font-size: 10px !important;
  letter-spacing: 0.6px;
  padding: 12px 16px !important;
}

/* ════════════════════════════════════════════════════════════════════
 * R2 28.5.: Admin design kit — konsolidace .adm-* tříd (PILOTNÍ: Certifikáty)
 * Strategie: paralelní extend existujících tříd, žádný breaking change.
 * Pokrývá VN-R1-1 (chybějící CSS pro .adm-period-btn).
 * ════════════════════════════════════════════════════════════════════ */

/* ── Generická bílá karta (znovupoužitelný wrapper pro R3+) ── */
.adm-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(44, 26, 74, 0.06), 0 6px 18px rgba(44, 26, 74, 0.04);
  padding: 16px;
}

/* ── Metric card — modifiers s 4px levým pruhem (varianta 2 designu) ── */
.adm-stat-card--purple,
.adm-stat-card--green,
.adm-stat-card--amber,
.adm-stat-card--red {
  border-left-width: 4px;
  border-left-style: solid;
}
.adm-stat-card--purple { border-left-color: #5B4A9E; }
.adm-stat-card--green  { border-left-color: #22C55E; }
.adm-stat-card--amber  { border-left-color: #F59E0B; }
.adm-stat-card--red    { border-left-color: #EF4444; }

/* Pokud má modifier, top gradient přepíšeme na transparent (jedna accent linie, ne dvě) */
.adm-stat-card--purple::after,
.adm-stat-card--green::after,
.adm-stat-card--amber::after,
.adm-stat-card--red::after {
  background: transparent !important;
}

/* ── Pill filter button — CSS pro existující .adm-period-btn (VN-R1-1 fix) ── */
.adm-period-btn,
.adm-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  border-radius: 999px;
  border: none;
  background: #F4F0FB;
  color: #5B4A9E;
  font-size: 12px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background .15s, color .15s, box-shadow .15s;
  white-space: nowrap;
  line-height: 1.4;
  user-select: none;
}
.adm-period-btn:hover,
.adm-pill:hover {
  background: #E8DDF7;
  color: #3D1A6B;
}
.adm-period-btn.active,
.adm-pill.active,
.adm-pill--active {
  background: #3D1A6B;
  color: #fff;
  box-shadow: 0 2px 6px rgba(61, 26, 107, 0.22);
}
.adm-period-btn.active:hover,
.adm-pill.active:hover,
.adm-pill--active:hover {
  background: #2D1456;
  color: #fff;
}

/* ── Filter bar (.adm-card s flex layoutem) ── */
.adm-filter-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(44, 26, 74, 0.06);
  padding: 12px 16px;
  margin-bottom: 16px;
}

/* ── Search box s ikonou lupy ── */
.adm-search-box {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #F4F0FB;
  border-radius: 10px;
  padding: 10px 12px 10px 38px;
  flex: 1;
  min-width: 220px;
  position: relative;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239488AD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.35-4.35'/></svg>");
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 16px;
  transition: background-color .15s, box-shadow .15s;
}
.adm-search-box:focus-within {
  background-color: #EDE5F8;
  box-shadow: 0 0 0 3px rgba(91, 74, 158, 0.12);
}
.adm-search-box input {
  flex: 1;
  border: none;
  background: transparent;
  color: #2C1A4A;
  font-size: 13px;
  font-family: inherit;
  outline: none;
  min-width: 0;
}
.adm-search-box input::placeholder {
  color: #9488AD;
}

/* ── Select box (pretty <select> s chevron-down) ── */
.adm-select-box {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #FBFAFE url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B4A9E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 10px center;
  background-size: 14px;
  border: 0.5px solid #D4C5EC;
  border-radius: 10px;
  padding: 9px 32px 9px 12px;
  font-size: 13px;
  color: #2C1A4A;
  font-family: inherit;
  cursor: pointer;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  min-width: 140px;
}
.adm-select-box:hover { border-color: #B59ED9; }
.adm-select-box:focus {
  border-color: #5B4A9E;
  box-shadow: 0 0 0 3px rgba(91, 74, 158, 0.10);
}

/* ── Badge pill (sjednocení .ce-stav-* pattern) ── */
.adm-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2px;
  white-space: nowrap;
  line-height: 1.4;
}
.adm-badge::before { content: '●'; font-size: 9px; line-height: 1; }
.adm-badge--green  { background: #EAF3DE; color: #3B6D11; }
.adm-badge--green::before  { color: #22C55E; }
.adm-badge--amber  { background: #FEF3C7; color: #854F0B; }
.adm-badge--amber::before  { content: '⚠'; color: #F59E0B; font-size: 11px; }
.adm-badge--red    { background: #FEE2E2; color: #991B1B; }
.adm-badge--red::before    { color: #DC2626; }
.adm-badge--purple { background: #EDE5F8; color: #3D1A6B; }
.adm-badge--purple::before { color: #5B4A9E; }
.adm-badge--gray   { background: #E5E7EB; color: #374151; }
.adm-badge--gray::before   { color: #6B7280; }

/* ── Monospace pill (č. certifikátu, faktury, balíčku) ── */
.adm-cert-num {
  display: inline-block;
  font-family: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 600;
  color: #4A3A6B;
  background: #F0EBF9;
  padding: 3px 9px;
  border-radius: 6px;
  letter-spacing: 0.3px;
  border: 1px solid #EDE5F9;
}

/* ── Akce link (ikona + text) ── */
.adm-action-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #5B4A9E;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 4px 6px;
  border-radius: 6px;
  font-family: inherit;
  transition: background .12s, color .12s;
}
.adm-action-link:hover {
  background: #F0EBF9;
  color: #3D1A6B;
  text-decoration: underline;
}
.adm-action-link svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* ── Table card (alias .adm-table-wrap konsolidace) ── */
.adm-table-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(44, 26, 74, 0.06), 0 6px 18px rgba(44, 26, 74, 0.04);
  overflow: hidden;
  overflow-x: auto;
  margin-bottom: 24px;
}
.adm-table-card .adm-table,
.adm-table-card table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.adm-table-card thead th {
  background: #FBFAFE;
  color: #8579A3;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  padding: 12px 16px;
  text-align: left;
  border-bottom: 2px solid #EDE5F8;
}
.adm-table-card tbody td {
  padding: 12px 16px;
  border-top: 1px solid #F2EBF9;
  color: #1A0A2E;
  vertical-align: middle;
}
.adm-table-card tbody tr:hover td {
  background: #FAF6FF;
  transition: background .12s;
}

/* ── End R2 design kit ── */

/* ────────────────────────────────────────────────────────────────
 * R4a.2 28.5.: Reporty taby — CSS (předtím chybělo → invisible text)
 * ──────────────────────────────────────────────────────────────── */
.adm-rep-tab {
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  color: #6B5B8A;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s, background .15s;
  user-select: none;
  line-height: 1.4;
}
.adm-rep-tab:hover {
  color: #3D1A6B;
  background: #F4F0FB;
}
.adm-rep-tab.active {
  color: #2C1A4A;
  font-weight: 600;
  border-bottom-color: #3D1A6B;
}

/* R4c.2 28.5.: Chatbot metric cards — left-border accent (per .adm-stat-card-- pattern) */
.adm-stat-card[data-cb-stat="purple"] { border-left:4px solid #5B4A9E !important; }
.adm-stat-card[data-cb-stat="green"]  { border-left:4px solid #22C55E !important; }
.adm-stat-card[data-cb-stat="amber"]  { border-left:4px solid #F59E0B !important; }
.adm-stat-card[data-cb-stat="red"]    { border-left:4px solid #EF4444 !important; }
.adm-stat-card[data-cb-stat]::after   { background:transparent !important; }

/* ─────────────────────────────────────────────────────
 * R4d.2 28.5.: Nastavení sub-tabs (reuse .adm-rep-tab pattern)
 * ───────────────────────────────────────────────────── */
.na-tab {
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  color: #6B5B8A;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s, background .15s;
  user-select: none;
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.na-tab:hover {
  color: #3D1A6B;
  background: #F4F0FB;
}
.na-tab.active {
  color: #2C1A4A;
  font-weight: 600;
  border-bottom-color: #3D1A6B;
}
.na-tab-content {
  /* Display managed via JS naTab() function */
}

/* ════════════════════════════════════════════════════════════════
 * K1 29.5.: B2B kalkulačka souhlasy — layout (CONSENT-LAYOUT, base CSS, desktop+mobile)
 * Inline label { display:flex; align-items:flex-start; gap:8px; } je v HTML (#bal-kalk-souhlasy).
 * Bez těchto pravidel <input type=checkbox> jako flex item bez explicit width absorbuje volné místo
 * (151/98px viz VOP1 diagnostiky) → text squished doprava. Tato pravidla fixují checkbox na 18×18
 * a span na flex:1 (zabere zbytek, normálně wrappuje).
 * Univerzální (desktop i mobil) — předtím jen v @media (max-width: 768px).
 * Scoped na #bal-kalk-souhlasy aby neovlivnil jiné consent sekce.
 * ════════════════════════════════════════════════════════════════ */
#bal-kalk-souhlasy input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 2px;
}
#bal-kalk-souhlasy label > span {
  flex: 1 1 auto;
  min-width: 0;
}

/* ════════════════════════════════════════════════════════════════
 * CONSENT1 29.5.: Sdílený consent-gate UX (.consent-error)
 * Použití: validateConsents(blockId) v app-core.js přidá tuto třídu
 * na souhlasový blok když user klikne na pay bez zaškrtnutých souhlasů.
 * Auto-zrušení po zaškrtnutí přes change listener.
 * ════════════════════════════════════════════════════════════════ */
.consent-error {
  border: 1px solid #DC2626;
  background: rgba(254, 226, 226, 0.55);
  border-radius: 6px;
  padding: 8px;
  margin: -8px -8px;
  animation: consent-shake 0.35s ease-out;
}
.consent-error label,
.consent-error label > span,
.consent-error .consent-required-mark { color: #B91C1C; }
.consent-error a { color: #B91C1C !important; }
@keyframes consent-shake {
  0%, 100% { transform: translateX(0); }
  25%      { transform: translateX(-3px); }
  75%      { transform: translateX(3px); }
}
