
:root{
  --gls-bg-1:#08111f;
  --gls-bg-2:#10223d;
  --gls-card:rgba(10,23,43,.96);
  --gls-border:rgba(108,159,255,.16);
  --gls-text:#eaf2ff;
  --gls-muted:#aebed7;
  --gls-accent:#5bc2ff;
  --gls-accent-2:#5a8cff;
  --gls-danger:#ff7f98;
  --gls-shadow:0 18px 50px rgba(0,0,0,.32);
}
.gls-cookie-root{position:fixed;inset:auto 18px 18px 18px;z-index:999990;pointer-events:none}
.gls-cookie-banner,.gls-cookie-modal{color:var(--gls-text);background:linear-gradient(135deg,var(--gls-bg-1),var(--gls-bg-2));border:1px solid var(--gls-border);box-shadow:var(--gls-shadow)}
.gls-cookie-banner{max-width:840px;margin-left:auto;padding:18px;border-radius:20px;pointer-events:auto}
.gls-cookie-row{display:grid;grid-template-columns:1.45fr .92fr;gap:18px;align-items:start}
.gls-cookie-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--gls-border);border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#cfe2ff;background:rgba(255,255,255,.03);margin-bottom:10px}
.gls-cookie-title{margin:0 0 10px;font-size:22px;line-height:1.08;font-weight:800}
.gls-cookie-text{margin:0 0 14px;color:var(--gls-muted);font-size:14px;line-height:1.55}
.gls-cookie-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.gls-badge{padding:7px 10px;border-radius:999px;border:1px solid var(--gls-border);color:#cce1ff;font-size:12px}
.gls-cookie-actions{display:grid;gap:10px}
.gls-btn{appearance:none;border:1px solid var(--gls-border);background:rgba(255,255,255,.04);color:var(--gls-text);border-radius:14px;padding:12px 16px;font-weight:700;font-size:14px;text-align:center;text-decoration:none;cursor:pointer;transition:.18s ease}
.gls-btn:hover,.gls-btn:focus-visible{transform:translateY(-1px);border-color:rgba(91,194,255,.4);outline:none}
.gls-btn:disabled{opacity:.65;cursor:not-allowed;transform:none!important}
.gls-btn-primary{background:linear-gradient(135deg,var(--gls-accent),var(--gls-accent-2));color:#031020;border-color:transparent}
.gls-btn-danger{background:rgba(255,127,152,.10);border-color:rgba(255,127,152,.25)}
.gls-btn-ghost{background:rgba(255,255,255,.02)}
.gls-cookie-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}
.gls-cookie-links a{color:#d7e6ff;font-size:13px}
.gls-cookie-overlay{position:fixed;inset:0;z-index:999991;background:rgba(3,8,18,.68);backdrop-filter:blur(4px)}
.gls-cookie-modal{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(540px,calc(100vw - 24px));max-height:min(74vh,640px);overflow:auto;z-index:999992;pointer-events:auto;padding:16px;border-radius:20px}
.gls-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:12px}
.gls-modal-title{margin:0;font-size:22px;line-height:1.08}
.gls-modal-close{width:38px;min-width:38px;height:38px;padding:0;border-radius:12px;font-size:22px}
.gls-policy-box{padding:12px 14px;border:1px solid var(--gls-border);border-radius:14px;color:var(--gls-muted);font-size:13px;line-height:1.5}
.gls-pref-list{display:grid;gap:10px;margin:14px 0}
.gls-pref-card{padding:12px 14px;border:1px solid var(--gls-border);border-radius:16px;background:rgba(255,255,255,.03)}
.gls-pref-top{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}
.gls-pref-title{margin:0 0 5px;font-size:16px;font-weight:800}
.gls-pref-desc{margin:0;color:var(--gls-muted);font-size:13px;line-height:1.45}
.gls-switch{position:relative;display:inline-flex;align-items:center}
.gls-switch input{position:absolute;opacity:0;pointer-events:none}
.gls-switch-track{position:relative;display:block;width:52px;height:30px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.gls-switch-track::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:.18s ease}
.gls-switch input:checked + .gls-switch-track{background:linear-gradient(135deg,var(--gls-accent),var(--gls-accent-2))}
.gls-switch input:checked + .gls-switch-track::after{transform:translateX(22px)}
.gls-switch input:disabled + .gls-switch-track{background:rgba(82,211,157,.18)}
.gls-switch-note{margin-top:6px;color:var(--gls-muted);font-size:12px}
.gls-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
.gls-cookie-error{position:fixed;right:16px;bottom:16px;z-index:999993;max-width:min(360px,calc(100vw - 24px));padding:12px 14px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#4b1020;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.25);font-size:13px}
.gls-floating-link{position:fixed;right:20px;bottom:108px;z-index:999989;display:inline-flex;align-items:center;justify-content:center;min-width:122px;height:38px;padding:0 12px;border-radius:14px;border:1px solid rgba(108,159,255,.18);background:linear-gradient(135deg,rgba(8,17,31,.94),rgba(16,34,61,.94));color:#eef5ff;text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.20);backdrop-filter:blur(8px);pointer-events:auto}
.gls-floating-link:hover,.gls-floating-link:focus-visible{transform:translateY(-1px);border-color:rgba(91,194,255,.35);outline:none}
.gls-floating-link .gls-floating-label{white-space:nowrap;letter-spacing:-.01em}
@media (max-width:860px){
  .gls-cookie-root{inset:auto 12px 12px 12px}
  .gls-cookie-banner{padding:16px;border-radius:18px}
  .gls-cookie-row{grid-template-columns:1fr;gap:14px}
  .gls-cookie-title{font-size:20px}
  .gls-cookie-text{font-size:14px}
  .gls-modal-actions{flex-direction:column}
  .gls-btn{width:100%}
  .gls-cookie-modal{inset:auto 8px 8px 8px;transform:none;width:auto;max-height:76vh;border-radius:18px;padding:14px}
  .gls-modal-title{font-size:20px}
  .gls-pref-title{font-size:15px}
  .gls-floating-link{right:16px;bottom:104px;min-width:112px;height:36px;padding:0 11px;border-radius:13px;font-size:12px}
  .gls-cookie-error{right:12px;bottom:12px;max-width:calc(100vw - 24px)}
}
