.qg{--ocean-1:#0e4a5f;--ocean-2:#0b364d;--ocean-3:#17364f;--halo-1:#4ba7c566;--halo-2:#426f9859;--glass-dark:#162e44b8;--glass-dark-solid:#142c40db;--glass-mid:linear-gradient(150deg, #78c8e68c 0%, #608aac6b 45%, #5096be73 100%);--glass-light:#c6dce7db;--glass-light-hover:#d2e4eeeb;--glass-border:#e6f2f88c;--glass-border-low:#e6f2f833;--glass-shadow:0 1px 2px #061e2e1f, 0 18px 40px -18px #061e2e73;--glass-shadow-hover:0 2px 4px #061e2e24, 0 26px 54px -20px #061e2e8c;--bg:transparent;--surface:var(--glass-light);--surface-2:#dceaf199;--line:#0e22331f;--line-strong:#0e223338;--ink:#0e2233;--muted:#34505f;--accent:#109bcb;--accent-ink:#0a6a8f;--on-accent:#fff;--danger:#b03a26;--success:#12704c;--warning:#8f5b00;--navy:#2c3137;--on-navy:#fff;--pill-from:#2bb6e3;--pill-to:#0f8cbf;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);color:var(--ink);font-family:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;-webkit-font-smoothing:antialiased}html[data-qg-theme=sombre] .qg{--ocean-1:#040c16;--ocean-2:#08202f;--ocean-3:#0c3440;--halo-1:#28aadc38;--halo-2:#3c8cc829;--glass-dark:#06141e8c;--glass-dark-solid:#06141eb8;--glass-mid:#ffffff0d;--glass-light:#ffffff14;--glass-light-hover:#ffffff1f;--glass-border:#ffffff29;--glass-border-low:#ffffff0f;--glass-shadow:0 1px 2px #0000004d, 0 18px 40px -18px #0009;--glass-shadow-hover:0 2px 4px #00000059, 0 26px 54px -20px #000000b3;--surface-2:#ffffff0d;--line:#ffffff17;--line-strong:#ffffff2e;--ink:#e6f3f8;--muted:#9bb7c6;--accent:#3fd0f0;--accent-ink:#79def5;--on-accent:#032029;--danger:#ff9584;--success:#6fe0b0;--warning:#ffcf7a;--navy:#e6f3f8;--on-navy:#04121c}.qg-bg{z-index:0;pointer-events:none;background:linear-gradient(135deg, var(--ocean-1) 0%, var(--ocean-2) 52%, var(--ocean-3) 100%);transition:background .6s var(--ease-out);contain:strict;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.qg-bg:before,.qg-bg:after,.qg-halo{content:"";border-radius:50%;position:absolute}.qg-bg:before{background:radial-gradient(closest-side, var(--halo-1), transparent);width:80vw;height:80vw;top:-30vw;left:-25vw}.qg-bg:after{background:radial-gradient(closest-side, var(--halo-2), transparent);width:72vw;height:72vw;bottom:-30vw;right:-26vw}.qg-halo{background:radial-gradient(closest-side, var(--halo-2), transparent);width:56vw;height:56vw;top:10vh;left:29vw}.qg-grain{display:none}.qg-frame{z-index:1;gap:16px;min-height:100dvh;padding:16px;display:flex;position:relative}.qg-main{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.qg-side,.qg-top{background:var(--glass-dark-solid,var(--glass-dark));border:1px solid var(--glass-border-low);color:#fff;border-top-color:#ffffff47;box-shadow:0 20px 50px -24px #00000073}.qg-side{scrollbar-width:thin;border-radius:24px;flex-direction:column;align-self:flex-start;width:248px;height:calc(100dvh - 32px);padding:16px 12px;display:flex;position:sticky;top:16px;overflow-y:auto}.qg-top{border-radius:24px;align-items:center;gap:12px;min-height:64px;padding:10px 12px 10px 14px;display:flex}.qg-panel{background:linear-gradient(180deg, #ffffff14, transparent 30%), var(--glass-mid);border:1px solid var(--glass-border);border-bottom-color:var(--glass-border-low);box-shadow:var(--glass-shadow);border-radius:24px;flex:1;padding:32px 36px 40px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.qg{--glass-mid:#dceef4eb;--glass-light:#fffffff2;--glass-dark:#082e3ff0}}.qg-brand{align-items:center;gap:10px;padding:4px 8px 14px;display:flex}.qg-brand-mark{background:#ffffff1f;border:1px solid #ffffff40;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.qg-brand strong{letter-spacing:.02em;font-size:15px;font-weight:600;display:block}.qg-brand div>span{color:#fff9;font-size:12px;display:block}.qg-switch{margin:0 2px 14px;position:relative}.qg-switch-btn{color:#fff;text-align:left;width:100%;transition:background-color .2s ease, transform .16s var(--ease-out);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;align-items:center;gap:10px;padding:9px 12px;display:flex}.qg-switch-btn:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.qg-switch-btn:hover{background:#ffffff29}}.qg-switch-btn small{color:#fff9;font-size:11px;display:block}.qg-switch-btn b{font-size:14px;font-weight:600;display:block}.qg-switch-menu{z-index:30;-webkit-backdrop-filter:blur(24px);transform-origin:top;background:#082838eb;border:1px solid #fff3;border-radius:18px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 24px 50px -20px #0009}.qg-switch-item{color:#ffffffd9;text-align:left;border-radius:12px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:14px;display:flex}.qg-switch-item small{color:#ffffff8c;font-size:11px;display:block}.qg-switch-item[aria-current=true]{color:#fff;background:#ffffff24}@media (hover:hover) and (pointer:fine){.qg-switch-item:hover{color:#fff;background:#ffffff1a}}.qg-switch-item:disabled{opacity:.45;cursor:default}.qg-group{margin-top:10px}.qg-group-title{letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;padding:6px 12px;font-size:11px;font-weight:500}.qg-link{color:#fffc;border-radius:999px;align-items:center;gap:10px;min-height:40px;padding:0 12px;font-size:14px;transition:color .2s;display:flex;position:relative}.qg-link>:not(.qg-pill){z-index:1;position:relative}.qg-link svg{flex:none}@media (hover:hover) and (pointer:fine){.qg-link:hover{color:#fff;background:#ffffff0f}}.qg-link[aria-current=page]{color:#fff;font-weight:500}.qg-pill{z-index:0;background:linear-gradient(135deg, var(--pill-from), var(--pill-to));border-radius:999px;position:absolute;inset:0;box-shadow:0 8px 22px -8px #109bcbbf,inset 0 1px #ffffff59}.qg-count{font-variant-numeric:tabular-nums;background:#ffffff24;border:1px solid #ffffff2e;border-radius:999px;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:12px;display:grid}.qg-count[data-tone=danger]{background:#ff78644d}.qg-plan{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:18px;margin-top:auto;padding:14px;font-size:12px}.qg-plan p{color:#ffffffd9;justify-content:space-between;gap:8px;display:flex}.qg-plan b{color:#fff;font-weight:600}.qg-plan-bar{background:#ffffff26;border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.qg-plan-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--pill-from), var(--pill-to));height:100%;display:block}.qg-search{color:#ffffffbf;text-align:left;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;flex:1;align-items:center;gap:10px;max-width:560px;min-height:44px;padding:0 8px 0 16px;font-size:14px;transition:background-color .2s;display:flex}@media (hover:hover) and (pointer:fine){.qg-search:hover{background:#ffffff26}}.qg-search span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.qg-kbd{font-size:11px;font-family:var(--font-geist-mono), monospace;background:#ffffff24;border-radius:999px;padding:3px 8px}.qg-top-end{align-items:center;gap:8px;margin-left:auto;display:flex}.qg-round{color:#fff;width:44px;height:44px;transition:transform .16s var(--ease-out), background-color .2s ease;background:#ffffff1f;border:1px solid #ffffff38;border-radius:50%;place-items:center;display:grid;position:relative}.qg-round:active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.qg-round:hover{background:#fff3}}.qg-round[data-variant=white]{color:#0b2236;background:#fff;border-color:#fff}.qg-dot{background:#ff6b5a;border-radius:50%;width:8px;height:8px;position:absolute;top:9px;right:10px;box-shadow:0 0 0 2px #fff}.qg-orb{width:44px;height:44px;transition:transform .16s var(--ease-out);border:1px solid #fff6;border-radius:50%;position:relative;overflow:hidden}.qg-orb:active{transform:scale(.94)}.qg-orb:before{content:"";filter:blur(4px);background:conic-gradient(#5ab8ff,#6fe3ff,#ffc2d6,#ffd29a,#5ab8ff);animation:9s linear infinite qg-spin;position:absolute;inset:-30%}.qg-orb:after{content:"";background:radial-gradient(circle at 35% 30%,#ffffffa6,#0000 55%);border-radius:50%;position:absolute;inset:0}@keyframes qg-spin{to{transform:rotate(1turn)}}.qg-user{align-items:center;gap:10px;padding-left:6px;display:flex}.qg-avatar{background:linear-gradient(135deg, var(--pill-from), var(--pill-to));color:#04202b;border-radius:50%;place-items:center;width:44px;height:44px;font-size:14px;font-weight:600;display:grid}.qg-user b{white-space:nowrap;font-size:14px;font-weight:600;display:block}.qg-user small{color:#ffffffa6;font-size:12px;display:block}.qg-menu-btn{display:none}.qg-overlay{z-index:60;background:#04121c73;position:fixed;inset:0}.qg-floating{color:#0b2236;-webkit-backdrop-filter:blur(30px);background:#ffffffdb;border:1px solid #ffffffe6;border-radius:24px;box-shadow:0 40px 80px -30px #04121c8c}html[data-qg-theme=sombre] .qg-floating{color:#e6f3f8;background:#0a1e2aeb;border-color:#ffffff24}.qg-palette{z-index:61;width:min(640px,100vw - 32px);position:fixed;top:14vh;left:50%;overflow:hidden;transform:translate(-50%)}.qg-palette input{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;background:0 0;outline:none;padding:18px 22px;font-size:16px}.qg-palette ul{max-height:50vh;padding:8px;overflow-y:auto}.qg-palette li a{border-radius:14px;justify-content:space-between;gap:12px;padding:11px 14px;font-size:14px;display:flex}.qg-palette li a[data-active=true]{background:#0aa5c924}.qg-palette li small{color:var(--muted);font-size:12px}.qg-drawer{z-index:61;flex-direction:column;gap:12px;width:min(440px,100vw - 32px);padding:18px 18px 14px;display:flex;position:fixed;top:16px;bottom:16px;right:16px;overflow:hidden}.qg-pop{z-index:40;transform-origin:100% 0;width:340px;padding:10px;position:absolute;top:calc(100% + 10px);right:0}.qg-pop li{display:block}.qg-pop a{border-radius:14px;padding:10px 12px;font-size:14px;display:block}.qg-pop a small{color:var(--muted);font-size:12px;display:block}@media (hover:hover) and (pointer:fine){.qg-pop a:hover,.qg-palette li a:hover{background:#0aa5c91a}}.qg-panel header.mb-8 h1,.qg-h1{letter-spacing:-.02em;color:var(--ink);font-size:clamp(26px,2.4vw,32px);font-weight:600;line-height:1.15}.qg-panel header.mb-8 p{font-size:14px}.qg-sub{color:var(--muted);margin-top:6px;font-size:14px}.qg-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.qg-head-actions{flex-wrap:wrap;gap:10px;display:flex}.qg-panel .g-card,.qg-card{border:1px solid var(--glass-border);border-bottom-color:var(--glass-border-low);background:linear-gradient(180deg, #fff3, #fff0 40%), var(--glass-light);box-shadow:var(--glass-shadow);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out), border-color .2s ease, background-color .2s ease;border-radius:20px;position:relative}@media (hover:hover) and (pointer:fine){.qg-card[data-lift]:hover,a.qg-card:hover,.qg-panel a.g-card:hover{box-shadow:var(--glass-shadow-hover);border-color:#ffffffd9;transform:translateY(-4px)}}.qg-cascade>*{animation:qg-rise .26s var(--ease-out) both}.qg-cascade>:nth-child(2){animation-delay:20ms}.qg-cascade>:nth-child(3){animation-delay:40ms}.qg-cascade>:nth-child(4){animation-delay:60ms}.qg-cascade>:nth-child(5){animation-delay:80ms}.qg-cascade>:nth-child(6){animation-delay:.1s}.qg-cascade>:nth-child(7){animation-delay:.12s}.qg-cascade>:nth-child(8){animation-delay:.14s}.qg-cascade>:nth-child(n+9){animation-delay:.16s}@keyframes qg-rise{0%{opacity:0;transform:translateY(6px)}}.qg-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.qg-kpi{flex-direction:column;min-height:168px;padding:20px 20px 18px;display:flex}.qg-kpi-top{justify-content:space-between;align-items:flex-start;display:flex}.qg-icon{width:38px;height:38px;color:var(--accent-ink);background:#fff;border-radius:50%;place-items:center;display:grid;box-shadow:0 4px 12px -4px #082e3f40}html[data-qg-theme=sombre] .qg-icon{color:var(--accent);background:#ffffff1f}.qg-trend{color:var(--success);background:#11744f1f;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:500}.qg-trend[data-tone=down]{color:var(--danger);background:#b4321f1a}.qg-trend[data-tone=info]{color:var(--accent-ink);background:#0aa5c91f}.qg-kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:auto;padding-top:16px;font-size:clamp(28px,2.4vw,34px);font-weight:600;line-height:1.05}.qg-kpi-label{margin-top:6px;font-size:14px;font-weight:600}.qg-kpi-detail{color:var(--muted);margin-top:2px;font-size:12px}.qg-progress{background:#0b223614;border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.qg-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--pill-from), var(--pill-to));transform-origin:0;height:100%;animation:qg-grow .6s var(--ease-out) both .1s;display:block}@keyframes qg-grow{0%{transform:scaleX(0)}}.qg-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.qg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.qg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.qg-stack{gap:16px;display:grid}.qg-section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:32px 0 14px;font-size:13px;font-weight:500}.qg-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 0;display:flex}.qg-card-head h2,.qg-card-head h3{font-size:16px;font-weight:600}.qg-card-head p{color:var(--muted);margin-top:2px;font-size:13px}.qg-card-body{padding:18px 22px 22px}.qg-seg{border:1px solid var(--glass-border);background:#ffffff8c;border-radius:999px;padding:4px;display:inline-flex;position:relative}html[data-qg-theme=sombre] .qg-seg{background:#ffffff0f}.qg-seg button,.qg-seg a{z-index:1;min-height:34px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;transition:color .2s;display:inline-flex;position:relative}.qg-seg [aria-pressed=true],.qg-seg [aria-current=page]{color:var(--on-navy)}.qg-seg-pill{z-index:0;background:var(--navy);border-radius:999px;position:absolute;inset:0}.qg-bars{align-items:flex-end;gap:14px;height:210px;padding:8px 4px 0;display:flex}.qg-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex;position:relative}.qg-bar-fill{transform-origin:bottom;background:#109bcb52;border-radius:12px 12px 4px 4px;width:min(56px,100%);transition:background-color .2s}.qg-bar[data-current] .qg-bar-fill{background:linear-gradient(#3cc4ef,#109bcb);box-shadow:0 10px 26px -10px #109bcbbf}@media (hover:hover) and (pointer:fine){.qg-bar:hover .qg-bar-fill{background:#109bcb80}}.qg-bar small{color:var(--muted);font-size:12px}.qg-tip{white-space:nowrap;color:#0b2236;pointer-events:none;background:#ffffffeb;border-radius:12px;padding:6px 10px;font-size:12px;font-weight:500;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 10px 24px -12px #082e3f80}.qg-donut-wrap{place-items:center;display:grid;position:relative}.qg-donut-center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.qg-donut-center b{font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.qg-donut-center small{color:var(--muted);font-size:12px}.qg-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:16px;font-size:13px;display:grid}.qg-legend button{text-align:left;border-radius:8px;align-items:center;gap:8px;padding:2px 0;display:flex}.qg-legend i{border-radius:50%;flex:none;width:9px;height:9px}.qg-legend b{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.qg-list{gap:10px;display:grid}.qg-item{align-items:center;gap:14px;padding:14px 16px;display:flex}.qg-item-main{flex:1;min-width:0}.qg-item-main b{font-size:14px;font-weight:600;display:block}.qg-item-main span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.qg-item time,.qg-item .qg-when{color:var(--muted);flex:none;font-size:12px}.qg-status-dot{background:var(--success);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #11744f1f}.qg-status-dot[data-tone=warning]{background:#e3a008;box-shadow:0 0 0 4px #e3a00826}.qg-status-dot[data-tone=danger]{background:#e2543c;box-shadow:0 0 0 4px #e2543c26}.qg-status-dot[data-tone=neutral]{box-shadow:none;background:#8aa0ae}.qg-vgrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.qg-vcard{flex-direction:column;display:flex;overflow:hidden}.qg-vcard-preview{background:linear-gradient(160deg,#0aa5c92e,#3fa7a038);border-radius:14px;min-height:150px;margin:10px 10px 0;position:relative;overflow:hidden}.qg-vcard-preview img,.qg-vcard-preview video{object-fit:cover;width:100%;height:100%;display:block}.qg-vcard-preview pre{font:12px/1.5 var(--font-geist-sans), sans-serif;white-space:pre-wrap;color:var(--ink);max-height:150px;padding:14px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.qg-chip{color:#0b2236;background:#ffffffe6;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;position:absolute;top:10px;left:10px}.qg-chip[data-pos=right]{left:auto;right:10px}.qg-vcard-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.qg-vcard-body h3{font-size:15px;font-weight:600}.qg-vcard-body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.qg-who{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.qg-who i{color:#04202b;background:linear-gradient(135deg, var(--pill-from), var(--pill-to));border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-style:normal;font-weight:600;display:grid}.qg-tags{flex-wrap:wrap;gap:6px;display:flex}.qg-tag{color:var(--warning);background:#e3a00829;border-radius:999px;padding:2px 9px;font-size:12px}.qg-tag[data-tone=ok]{color:var(--success);background:#11744f1f}.qg-vcard-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:10px;display:grid}.qg-panel .g-table th{letter-spacing:.12em;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 18px;font-family:inherit;font-size:11px;font-weight:500}.qg-panel .g-table td{border-bottom:1px solid var(--line);height:54px;padding:0 18px}.qg-panel .g-table tbody tr{transition:background-color .16s}.qg-panel .g-table tbody tr:hover{background:#ffffff59}html[data-qg-theme=sombre] .qg-panel .g-table tbody tr:hover{background:#ffffff0a}.qg .btn,.qg-btn{white-space:nowrap;min-height:40px;transition:transform .16s var(--ease-out), background-color .2s ease, border-color .2s ease, box-shadow .2s ease;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:500;display:inline-flex}.qg .btn:active,.qg-btn:active{transform:scale(.97)}.qg .btn-sm{min-height:34px;padding:0 14px;font-size:13px}.qg .btn-primary,.qg-btn[data-variant=primary]{background:var(--navy);color:var(--on-navy);filter:none;box-shadow:0 8px 20px -10px #0b1d2c99}.qg .btn-ghost,.qg-btn[data-variant=ghost]{border-color:var(--glass-border);color:var(--ink);background:#e1eef580}html[data-qg-theme=sombre] .qg .btn-ghost,html[data-qg-theme=sombre] .qg-btn[data-variant=ghost]{background:#ffffff14}.qg .btn-danger{color:var(--danger);background:#b4321f14;border-color:#b4321f4d}@media (hover:hover) and (pointer:fine){.qg .btn-primary:hover,.qg-btn[data-variant=primary]:hover{background:color-mix(in oklab, var(--navy) 88%, var(--accent))}.qg .btn-ghost:hover,.qg-btn[data-variant=ghost]:hover{background:#ffffffd9}}.qg .badge{border-radius:999px;padding:3px 10px;font-size:12px}.qg .g-input,.qg .field{border:1px solid var(--glass-border);color:var(--ink);background:#ffffffb3;border-radius:14px}html[data-qg-theme=sombre] .qg .g-input{background:#ffffff0f}.qg .g-input:focus,.qg .field:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0aa5c933}.qg :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.qg-side :focus-visible,.qg-top :focus-visible{outline-color:#9eeeff}.qg ::selection{background:#0aa5c94d}.qg-skeleton{background:linear-gradient(90deg,#ffffff4d,#fff9,#ffffff4d) 0 0/200% 100%;border-radius:14px;animation:1.6s ease-in-out infinite qg-shimmer}@keyframes qg-shimmer{to{background-position:-200% 0}}.qg-empty{text-align:center;padding:40px 24px}.qg-empty b{font-size:15px;font-weight:600;display:block}.qg-empty p{max-width:46ch;color:var(--muted);margin:6px auto 0;font-size:14px}.qg-empty .qg-btn{margin-top:16px}.qg-note{border:1px solid var(--glass-border);color:var(--muted);background:#ffffff73;border-radius:16px;padding:12px 16px;font-size:13px}html[data-qg-theme=sombre] .qg-note{background:#ffffff0d}.qg-note strong{color:var(--ink)}.qg-num{font-variant-numeric:tabular-nums}@media (max-width:1279px){.qg-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.qg-row{grid-template-columns:1fr}.qg-user div{display:none}}@media (max-width:1023px){.qg-frame{gap:10px;padding:10px}.qg-side{z-index:70;height:calc(100dvh - 20px);transition:transform .32s var(--ease-out);background:#082838eb;position:fixed;top:10px;left:10px;transform:translate(calc(-100% - 20px))}.qg-side[data-open=true]{transform:none}.qg-menu-btn{display:grid}.qg-panel{border-radius:20px;padding:24px 18px 28px}.qg-grid-3{grid-template-columns:1fr}}@media (max-width:639px){.qg-kpis,.qg-grid-2{grid-template-columns:1fr}.qg-search span,.qg-kbd{display:none}.qg-search{flex:none;justify-content:center;width:44px;padding:0}.qg-top-end{gap:6px}.qg-round,.qg-orb,.qg-avatar{width:40px;height:40px}.qg-bars{gap:8px;height:180px}.qg-legend{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.qg-orb:before{animation:none}.qg-cascade>*{animation:.2s both qg-fade;animation-delay:0s!important}.qg-progress i{animation:none}@keyframes qg-fade{0%{opacity:0}}}@media print{.qg-bg,.qg-side,.qg-top,.qg-head-actions{display:none!important}.qg-frame{padding:0}.qg-panel,.qg-card,.qg-panel .g-card{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border-color:#ccd6dd!important}}body:has(.qg){background:#0b364d}html[data-qg-theme=sombre] body:has(.qg){background:#040c16}.qg-legend{grid-template-columns:1fr}.qg-side{scrollbar-width:thin;scrollbar-color:#ffffff38 transparent}.qg-side::-webkit-scrollbar{width:6px}.qg-side::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}@media (max-width:1023px){.qg-side{background:#072432fa}}.qg-auth{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;padding:32px 16px;display:flex;position:relative}.qg-auth-brand{color:#fff;padding:0}.qg-auth-card{width:100%;max-width:400px;padding:32px 28px}.qg-auth-card h1{letter-spacing:-.01em;font-size:22px;font-weight:600}.qg-auth-card .field-label{color:var(--ink)}.qg-auth-card .field{width:100%;padding:10px 14px}.qg-auth-card pre{background:#fff9}.qg-chat{flex:1;gap:16px;min-height:0;display:flex}.qg-chat[data-variant=page]{height:calc(100dvh - 250px);min-height:520px}.qg-chat-main{flex-direction:column;flex:1;gap:10px;min-width:0;min-height:0;display:flex}.qg-chat[data-variant=page] .qg-chat-main{background:var(--glass-light);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:16px}.qg-chat-history{flex-direction:column;flex-shrink:0;gap:12px;width:260px;min-height:0;display:flex}.qg-chat-history ul{align-content:start;gap:6px;display:grid;overflow-y:auto}.qg-chat-history li button{text-align:left;border:1px solid var(--glass-border-low);width:100%;color:var(--ink);background:#ffffff59;border-radius:14px;padding:10px 12px}.qg-chat-history li button[aria-current=true]{background:var(--glass-light);border-color:var(--glass-border)}.qg-chat-history b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.qg-chat-history small,.qg-chat-muted{color:var(--muted);font-size:12px}.qg-chat-full{color:var(--accent-ink);text-underline-offset:3px;margin-left:auto;font-size:13px;text-decoration:underline}.qg-chat-new{color:var(--muted);align-self:flex-start;align-items:center;gap:6px;font-size:12px;display:inline-flex}.qg-chat-list{scrollbar-width:thin;flex-direction:column;flex:1;gap:10px;min-height:0;padding:2px 2px 6px;display:flex;overflow-y:auto}.qg-chat-welcome{justify-items:start;gap:14px;margin:auto 0;font-size:14px;line-height:1.55;display:grid}.qg-chat-badge{color:#fff;background:linear-gradient(135deg, var(--pill-from), var(--pill-to));border-radius:14px;place-items:center;width:40px;height:40px;display:grid}.qg-chat-suggest{flex-wrap:wrap;gap:8px;display:flex}.qg-chat-suggest button{border:1px solid var(--glass-border);color:var(--ink);transition:background .16s ease, transform .16s var(--ease-out);background:#ffffff8c;border-radius:999px;padding:8px 12px;font-size:13px}.qg-chat-suggest button:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.qg-chat-suggest button:hover{background:#ffffffe6}}.qg-msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;max-width:88%;padding:10px 14px;font-size:14px;line-height:1.55}.qg-msg[data-from=user]{background:var(--navy);color:var(--on-navy);border-bottom-right-radius:6px;align-self:flex-end}.qg-msg[data-from=assistant]{white-space:normal;border:1px solid var(--glass-border);color:var(--ink);background:#ffffffb3;border-bottom-left-radius:6px;align-self:flex-start}html[data-qg-theme=sombre] .qg-msg[data-from=assistant]{background:#ffffff12}.qg-msg p+p,.qg-msg p+ul,.qg-msg ul+p{margin-top:6px}.qg-msg ul{padding-left:18px;list-style:outside}.qg-msg li+li{margin-top:2px}.qg-chat-read{color:var(--muted);padding-left:4px;font-size:12px}.qg-chat-action{border:1px solid var(--accent);background:#109bcb14;border-radius:16px;align-self:stretch;gap:8px;padding:12px 14px;font-size:14px;display:grid}.qg-chat-action p{font-weight:600}.qg-chat-action small{color:var(--muted);font-size:12px}.qg-chat-action[data-status=executee]{border-color:var(--success);background:#12704c12}.qg-chat-action[data-status=annulee]{border-color:var(--line-strong);background:0 0}.qg-chat-action[data-status=echec]{border-color:var(--danger);background:#b03a2612}.qg-chat-action-buttons{flex-wrap:wrap;gap:8px;display:flex}.qg-chat-error{color:var(--danger);border:1px solid var(--danger);border-radius:12px;padding:8px 12px;font-size:13px}.qg-typing{align-items:center;gap:5px;padding:14px 16px;display:inline-flex}.qg-typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite qg-typing}.qg-typing i:nth-child(2){animation-delay:.15s}.qg-typing i:nth-child(3){animation-delay:.3s}@keyframes qg-typing{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.qg-chat-input{border:1px solid var(--glass-border);background:#ffffffb3;border-radius:20px;align-items:flex-end;gap:8px;padding:6px;display:flex}html[data-qg-theme=sombre] .qg-chat-input{background:#ffffff0f}.qg-chat-input textarea{resize:none;field-sizing:content;min-height:40px;max-height:160px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:9px 10px;font-size:15px}.qg-chat-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0aa5c933}.qg-round[data-variant=accent]{background:linear-gradient(135deg, var(--pill-from), var(--pill-to));color:#fff;border-color:#0000;flex-shrink:0}.qg-round:disabled{opacity:.45;cursor:not-allowed}.qg-chat-cap{color:var(--muted);text-align:center;font-size:11px}@media (max-width:900px){.qg-chat-history{display:none}.qg-chat[data-variant=page]{height:calc(100dvh - 210px);min-height:420px}}@media (prefers-reduced-motion:reduce){.qg-typing i{opacity:.6;animation:none}}.qg-chat-memory{border-top:1px solid var(--line);gap:6px;min-height:0;margin-top:auto;padding-top:12px;display:grid}.qg-chat-memory h2{font-size:13px;font-weight:600}.qg-chat-memory ul{gap:6px;max-height:220px;display:grid;overflow-y:auto}.qg-chat-memory li{border:1px solid var(--glass-border-low);background:#ffffff59;border-radius:12px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:12px;line-height:1.45;display:flex}.qg-chat-memory li span{flex:1}.qg-chat-memory li button{color:var(--muted);flex-shrink:0}@media (hover:hover) and (pointer:fine){.qg-chat-memory li button:hover{color:var(--danger)}}.qg-list{grid-template-columns:minmax(0,1fr)}.qg-list>li,.qg-card-body,.qg-main,.qg-panel{min-width:0}.qg-ask{color:#fff;height:44px;transition:background .16s ease, transform .16s var(--ease-out);background:#ffffff24;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:10px;padding:0 16px 0 4px;font-size:14px;font-weight:600;display:inline-flex}.qg-ask .qg-orb{width:36px;height:36px}.qg-ask:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.qg-ask:hover{background:#ffffff3d}}@media (max-width:900px){.qg-ask{padding:0 4px}.qg-ask-label{display:none}}.qg-fab{z-index:55;background:linear-gradient(135deg, var(--pill-from), var(--pill-to));color:#fff;height:56px;transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);border:1px solid #ffffff73;border-radius:999px;align-items:center;gap:10px;padding:0 22px 0 18px;font-size:15px;font-weight:600;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 34px -10px #063c5aa6,0 0 0 4px #2bb6e32e}.qg-fab:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.qg-fab:hover{transform:translateY(-2px);box-shadow:0 18px 40px -10px #063c5ab3,0 0 0 6px #2bb6e338}}@media (max-width:900px){.qg-fab{height:52px;padding:0 18px 0 16px;bottom:16px;right:16px}}@media print{.qg-fab{display:none}}.qg-msg{position:relative}.qg-msg-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#0e22330f;border-radius:999px;margin-top:6px;padding:1px 8px;font-size:10px;font-weight:600;display:inline-block}.qg-msg-tag[data-free]{color:var(--success);background:#12704c1a}html[data-qg-theme=sombre] .qg-msg-tag{background:#ffffff14}
