.gge-floating-dock{position:fixed;left:18px;bottom:22px;z-index:99991;display:none;flex-direction:column;gap:10px;padding:14px;border-radius:18px;background:rgba(255,255,255,.22);backdrop-filter:blur(14px);box-shadow:0 18px 45px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.35)}
.gge-floating-dock.gge-show{display:flex;animation:ggeFadeUp .45s ease both}.gge-dock-btn{border:0;border-radius:999px;padding:11px 18px;color:#fff;font-weight:800;background:linear-gradient(135deg,#22c8ff,#ed26a6,#ff7b22);box-shadow:0 8px 22px rgba(0,0,0,.22);cursor:pointer}.gge-dock-btn:hover{transform:translateY(-2px)}
.gge-side-modal{position:fixed;z-index:99992;width:min(390px,92vw);padding:22px;border-radius:20px;color:#fff;background:linear-gradient(135deg,rgba(12,31,90,.94),rgba(127,29,142,.94),rgba(238,38,151,.92));backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.25);box-shadow:0 25px 70px rgba(0,0,0,.35);display:none}.gge-side-modal.gge-open{display:block;animation:ggeSlide .35s ease both}.gge-right-modal{right:26px;bottom:116px}.gge-left-modal{left:26px;bottom:116px}.gge-side-modal h3,.gge-center-modal h3,.gge-status-box h4{color:#fff!important;margin:8px 0 12px;font-weight:900}.gge-mini-title{color:#7dffd0;font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.07em}.gge-close{position:absolute;right:12px;top:10px;border:0;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-weight:900;cursor:pointer}.gge-tags{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.gge-tags span{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);font-size:12px;font-weight:800}.gge-gradient-btn{width:100%;border:0;border-radius:999px;padding:11px 18px;margin-top:9px;background:linear-gradient(135deg,#2bd3ff,#f326a8,#ff7b22);color:#fff;font-weight:900;cursor:pointer}.gge-meter{margin:13px 0}.gge-meter span{display:block;font-weight:800}.gge-meter b{float:right}.gge-meter i{display:block;clear:both;height:9px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden;margin-top:7px}.gge-meter em{display:block;height:100%;width:0;background:linear-gradient(90deg,#25d6ff,#ff2aa8,#ff7b22);transition:width .5s ease}.gge-value{margin-top:14px;padding:12px;border-radius:14px;background:rgba(255,255,255,.15);font-weight:900}.gge-preview-drawer{position:fixed;left:0;right:0;bottom:0;z-index:99993;max-height:84vh;overflow:auto;background:linear-gradient(135deg,#07184a,#441276,#db1680);display:none;color:#fff;box-shadow:0 -20px 70px rgba(0,0,0,.35)}.gge-preview-drawer.gge-open{display:block;animation:ggeDrawer .35s ease both}.gge-preview-head{height:54px;background:#071447;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.gge-preview-body{display:grid;grid-template-columns:minmax(300px,780px) 250px;gap:22px;justify-content:center;padding:22px}.gge-a4-preview{background:#fff;color:#071447;border-radius:16px;padding:30px;box-shadow:0 18px 50px rgba(0,0,0,.25)}.gge-a4-preview h2{text-align:center;color:#7b4dff!important;margin:0 0 12px;font-weight:900}.gge-a4-preview h3{text-align:center;color:#071447!important;margin:0 0 22px}.gge-client-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px;font-size:13px}.gge-preview-note{margin:18px 0}.gge-pv-lines{border-top:1px solid #dce3ef}.gge-pv-row{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid #dce3ef;padding:10px 0;font-size:13px}.gge-pv-total{text-align:right;font-size:25px;font-weight:900;margin-top:20px}.gge-status-box{height:max-content;padding:18px;border-radius:16px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24)}.gge-green-tick{color:#31ff89!important;font-weight:900;margin-right:6px}.gge-center-modal{position:fixed;z-index:99994;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,92vw);padding:26px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#07184a,#5b168e,#ed2694);box-shadow:0 25px 80px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.25);display:none}.gge-center-modal.gge-open{display:block}.gge-center-modal ul{padding-left:20px}.gge-center-modal li{margin:8px 0}.gge-service-actions{margin-top:14px}
@keyframes ggeFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes ggeSlide{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes ggeDrawer{from{transform:translateY(100%)}to{transform:none}}
@media(max-width:900px){.gge-floating-dock{left:10px;right:10px;bottom:12px;flex-direction:row;justify-content:center;overflow-x:auto}.gge-dock-btn{font-size:12px;white-space:nowrap;padding:10px 12px}.gge-right-modal,.gge-left-modal{left:12px;right:12px;bottom:82px;width:auto}.gge-preview-body{grid-template-columns:1fr}.gge-client-grid{grid-template-columns:1fr}.gge-status-box{order:-1}}
/* v2.3 polish */
.gge-close{display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;text-align:center!important;padding:0!important;font-size:18px!important}
.gge-green-tick{color:#31ff89!important;font-weight:900!important;text-shadow:0 0 8px rgba(49,255,137,.65)!important;background:transparent!important;display:inline-block!important;min-width:16px!important}
.gge-status-box p{color:#fff!important;font-weight:800!important}.gge-status-box h4{color:#fff!important}
.gge-toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%) translateY(12px);z-index:99995;padding:11px 20px;border-radius:999px;color:#fff;font-weight:900;background:linear-gradient(135deg,#2bd3ff,#f326a8,#ff7b22);box-shadow:0 16px 40px rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:.25s ease}.gge-toast.gge-show{opacity:1;transform:translateX(-50%) translateY(0)}
.gge-validation-modal .gge-gradient-btn,#gge-continue-filling{margin-top:16px!important}
@media(max-width:900px){.gge-toast{bottom:86px;font-size:12px}.gge-floating-dock{background:rgba(255,255,255,.35)!important}}

/* v2.4 refinements */
.gge-right-modal{right:26px!important;bottom:170px!important}.gge-left-modal{left:26px!important;bottom:170px!important}
.gge-status-box p{color:#31ff89!important}.gge-status-box p strong{color:#fff!important;font-weight:900!important}.gge-green-tick{color:#31ff89!important;text-shadow:0 0 10px rgba(49,255,137,.75)!important}
.gge-toast{left:auto!important;right:24px!important;top:88px!important;bottom:auto!important;transform:translateY(-12px)!important}.gge-toast.gge-show{transform:translateY(0)!important}
.gge-close{width:30px!important;height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:30px!important;font-size:20px!important;font-family:Arial,sans-serif!important}
.gge-validation-modal h3,.gge-validation-modal p{color:#fff!important}.gge-validation-modal p mark{background:rgba(255,255,255,.18);color:#fff;border-radius:4px;padding:0 3px}
.gge-floating-dock{z-index:99990!important}.gge-side-modal{z-index:99996!important}.gge-preview-drawer{z-index:99997!important}.gge-center-modal{z-index:99998!important}
@media(max-width:900px){.gge-right-modal,.gge-left-modal{left:12px!important;right:12px!important;bottom:112px!important;width:auto!important}.gge-toast{top:70px!important;right:12px!important}}
