.glass,.glass-card,.glass-panel,.glass-modal,.glass-topbar{position:relative;background:var(--glass);border:1px solid var(--glassBorder);backdrop-filter:blur(22px) saturate(185%);-webkit-backdrop-filter:blur(22px) saturate(185%);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.24)}
.glass-card,.glass-panel{border-radius:var(--r3)}.glass-card{padding:20px;overflow:hidden}.glass-card:before,.glass-panel:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(150deg,rgba(255,255,255,.18),transparent 28%,transparent 72%,rgba(197,161,90,.04));opacity:.75}html[data-theme=dark] .glass-card:before,html[data-theme=dark] .glass-panel:before{opacity:.38}
.hover-lift{transition:transform .18s var(--out),border-color .18s ease}.hover-lift:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--gold) 22%,var(--glassBorder))}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.section{margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.section-title{font-size:.97rem;font-weight:690}.section-note{font-size:.72rem;color:var(--muted)}
.btn{min-height:40px;border:1px solid var(--glassBorder);border-radius:13px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--glass);font-weight:630;font-size:.79rem;box-shadow:var(--shadow);transition:transform .1s ease,background .18s ease,border-color .18s ease}.btn:hover{background:var(--glassStrong)}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 94%,white 6%),var(--gold3));color:#17130b;border-color:rgba(98,70,21,.15);box-shadow:0 7px 22px rgba(183,140,66,.2),inset 0 1px 0 rgba(255,255,255,.45)}.btn.ghost{background:transparent;box-shadow:none;border-color:transparent}.btn.sm{min-height:34px;padding:0 10px;border-radius:11px;font-size:.73rem}.btn.danger{color:var(--error)}
.icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--glassBorder);background:var(--glass);display:grid;place-items:center;color:var(--muted);transition:transform .1s ease,background .18s ease}.icon-btn:hover{background:var(--glassStrong);color:var(--text)}.icon-btn:active{transform:scale(.97)}.icon-btn .icon{width:18px;height:18px}
.input,.select,.textarea{width:100%;border-radius:13px;border:1px solid var(--glassBorder);background:rgba(255,255,255,.42);padding:10px 12px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.30);transition:border-color .18s ease,background .18s ease}html[data-theme=dark] .input,html[data-theme=dark] .select,html[data-theme=dark] .textarea{background:rgba(255,255,255,.055)}.input:focus,.select:focus,.textarea:focus{border-color:color-mix(in srgb,var(--gold) 54%,var(--glassBorder));box-shadow:var(--focus)}.textarea{min-height:104px;resize:vertical}
.field{display:grid;gap:7px}.field label{font-size:.73rem;font-weight:610;color:var(--text2)}.field-hint{font-size:.67rem;color:var(--muted)}
.kbd{font-size:.65rem;padding:3px 6px;border:1px solid var(--hair2);border-bottom-width:2px;border-radius:6px;background:rgba(255,255,255,.22);color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;border:1px solid var(--hair);font-size:.67rem;font-weight:650;white-space:nowrap;background:rgba(255,255,255,.24)}.badge.success{color:color-mix(in srgb,var(--success) 76%,var(--text))}.badge.warning{color:color-mix(in srgb,var(--warning) 78%,var(--text))}.badge.error{color:var(--error)}.badge.info{color:var(--info)}.badge.gold{color:var(--gold3);border-color:rgba(197,161,90,.2);background:rgba(197,161,90,.1)}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--muted2)}.status-dot.success{background:var(--success)}.status-dot.warning{background:var(--warning)}.status-dot.error{background:var(--error)}.status-dot.info{background:var(--info)}
.kpi{padding:18px}.kpi-label{color:var(--muted);font-size:.72rem;font-weight:570}.kpi-value{font-size:clamp(1.45rem,2.2vw,2rem);font-weight:730;letter-spacing:-.04em;margin-top:9px}.kpi-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:.69rem;color:var(--muted)}
.progress{height:7px;border-radius:999px;background:var(--hair);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold3),var(--gold2));transform-origin:left;transition:transform .35s var(--out)}
.list{display:grid;gap:8px}.list-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;border:1px solid transparent;transition:background .16s ease,border-color .16s ease,transform .1s ease}.list-row:hover{background:rgba(255,255,255,.24);border-color:var(--glassBorder)}.list-row:active{transform:scale(.995)}.row-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(197,161,90,.11);color:var(--gold3);font-size:.7rem;font-weight:700;flex:0 0 auto}.row-main{min-width:0;flex:1}.row-title{font-size:.79rem;font-weight:630;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:.69rem;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--glassBorder);background:var(--glass)}table{width:100%;border-collapse:collapse;font-size:.75rem;min-width:720px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--hair);white-space:nowrap}th{position:sticky;top:0;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(12px);color:var(--muted);font-size:.67rem;font-weight:660;z-index:1}tbody tr:hover{background:rgba(255,255,255,.2)}tbody tr:last-child td{border-bottom:0}
.segmented{display:inline-flex;padding:3px;border-radius:12px;background:var(--hair);gap:2px}.seg-btn{border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:9px;font-size:.71rem;font-weight:630}.seg-btn.active{background:var(--glassStrong);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.toggle{width:44px;height:26px;border:0;border-radius:999px;background:var(--hair2);padding:3px;transition:background .18s ease}.toggle:after{content:"";display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.16);transition:transform .2s var(--spring)}.toggle[aria-checked="true"]{background:var(--success)}.toggle[aria-checked="true"]:after{transform:translateX(18px)}
.demo-label{font-size:.64rem;color:var(--muted);border:1px solid var(--hair);padding:4px 7px;border-radius:999px}
.skeleton{background:linear-gradient(90deg,var(--hair),rgba(255,255,255,.2),var(--hair));background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:9px}.empty{display:grid;place-items:center;text-align:center;min-height:220px;color:var(--muted);padding:28px}
.spinner{width:17px;height:17px;border-radius:50%;border:2px solid var(--hair2);border-top-color:var(--gold);animation:spin .8s linear infinite}
.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);opacity:0;pointer-events:none;white-space:nowrap;background:rgba(20,21,24,.93);color:#fff;padding:6px 8px;border-radius:8px;font-size:.65rem;transition:opacity .14s ease,transform .14s ease}.tooltip:hover:after,.tooltip:focus-visible:after{opacity:1;transform:translate(-50%,0)}
.modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(7,8,10,.22);backdrop-filter:blur(10px);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .18s ease}.modal-backdrop.open{opacity:1;pointer-events:auto}.glass-modal{width:min(520px,100%);border-radius:24px;padding:22px;transform:scale(.97) translateY(6px);opacity:0;transition:transform .22s var(--spring),opacity .18s ease}.modal-backdrop.open .glass-modal{transform:scale(1);opacity:1}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-body{color:var(--muted);font-size:.83rem;line-height:1.55}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.toast-stack{position:fixed;right:18px;bottom:18px;z-index:260;display:grid;gap:8px;width:min(360px,calc(100vw - 36px))}.toast{padding:12px 14px;border-radius:14px;background:var(--glassStrong);border:1px solid var(--glassBorder);backdrop-filter:blur(20px);box-shadow:var(--shadow2);display:flex;gap:10px;align-items:flex-start;animation:toastIn .24s var(--out) both}.toast-title{font-size:.76rem;font-weight:660}.toast-msg{font-size:.69rem;color:var(--muted);margin-top:2px}
.command-backdrop{position:fixed;inset:0;z-index:220;background:rgba(7,8,10,.18);backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:flex-start;padding:12vh 18px 18px;opacity:0;pointer-events:none;transition:opacity .16s ease}.command-backdrop.open{opacity:1;pointer-events:auto}.command-palette{width:min(660px,100%);border-radius:22px;overflow:hidden;background:var(--glassStrong);border:1px solid var(--glassBorder);box-shadow:var(--shadow2);transform:scale(.985) translateY(-6px);transition:transform .2s var(--spring)}.command-backdrop.open .command-palette{transform:scale(1)}.command-input-wrap{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--hair)}.command-input{border:0;outline:none;background:transparent;width:100%;font-size:1rem}.command-results{padding:8px;max-height:360px;overflow:auto}.command-item{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;text-align:left;color:var(--text)}.command-item:hover,.command-item.active{background:rgba(255,255,255,.26)}.command-item small{margin-left:auto}
.context-menu{position:fixed;z-index:210;min-width:180px;padding:6px;border-radius:14px;background:var(--glassStrong);border:1px solid var(--glassBorder);backdrop-filter:blur(18px);box-shadow:var(--shadow2)}.context-menu button{width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:9px;font-size:.74rem}.context-menu button:hover{background:rgba(255,255,255,.25)}


/* === Golden AI v2 · component fit & polish === */
.grid>*,
.bento>*,
.glass-card,
.glass-panel{min-width:0}
.glass-card{
  height:100%;
  box-shadow:
    0 1px 1px rgba(18,20,24,.035),
    0 12px 34px rgba(18,20,24,.055),
    inset 0 1px 0 rgba(255,255,255,.30);
}
html[data-theme="dark"] .glass-card{
  box-shadow:
    0 1px 1px rgba(0,0,0,.22),
    0 16px 40px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.section-head>*{min-width:0}
.section-title{letter-spacing:-.015em}
.btn{white-space:nowrap}
.btn:disabled{cursor:not-allowed;opacity:.48;transform:none!important}
.btn.soft-danger{
  color:var(--error);
  background:color-mix(in srgb,var(--error) 7%,var(--glass));
  border-color:color-mix(in srgb,var(--error) 18%,var(--glass-border));
}
.btn.soft-danger:hover{background:color-mix(in srgb,var(--error) 11%,var(--glass-strong))}
.input,.select,.textarea{min-height:42px}
.badge{line-height:1}
.table-wrap{box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
table td,table th{vertical-align:middle}
.icon-btn{flex:0 0 auto}
.status-dot{flex:0 0 auto}
.card-divider{height:1px;background:var(--hairline);margin:16px 0}
.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.metric-pair{display:flex;align-items:baseline;gap:6px}
.metric-pair strong{font-size:1.15rem;letter-spacing:-.03em}
.metric-pair span{font-size:.68rem;color:var(--muted)}


/* === v3 · real-data pass / icon corrections === */
.icon{
  width:18px;
  height:18px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  font-size:18px;
  line-height:1;
}
.command-trigger .icon{width:17px;height:17px}
.icon svg{width:100%;height:100%}
.page-subtitle{max-width:78ch}
.empty-card{
  display:grid;
  place-items:center;
  text-align:center;
  min-height:220px;
  padding:28px;
  color:var(--muted);
}
.empty-card .row-icon{margin-bottom:12px}
.notice{
  display:flex;align-items:flex-start;gap:10px;
  padding:12px 14px;border:1px solid var(--hairline);
  border-radius:14px;background:rgba(255,255,255,.14);
  color:var(--muted);font-size:.74rem;line-height:1.5;
}
.status-chip{overflow:hidden}
.status-chip .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v4 · tactile glass surfaces */
.glass-card,.glass-panel{
  transition:transform .28s var(--spring),border-color .25s ease,box-shadow .28s ease,background .25s ease;
}
.glass-card:hover{
  border-color:color-mix(in srgb,var(--gold) 18%,var(--glassBorder));
  box-shadow:0 2px 2px rgba(18,20,24,.04),0 18px 48px rgba(18,20,24,.09),inset 0 1px 0 rgba(255,255,255,.32);
}
html[data-theme="dark"] .glass-card:hover{
  box-shadow:0 2px 2px rgba(0,0,0,.22),0 22px 54px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07);
}
.glass-card:after{
  content:"";
  position:absolute;
  z-index:0;
  inset:-45% auto -45% -42%;
  width:26%;
  transform:rotate(14deg) translateX(-220%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  pointer-events:none;
  transition:transform .72s var(--out);
}
.glass-card:hover:after{transform:rotate(14deg) translateX(720%)}
.glass-card>*{position:relative;z-index:1}
.btn{position:relative;overflow:hidden;transition:transform .2s var(--spring),background .2s ease,border-color .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.icon-btn{transition:transform .2s var(--spring),background .2s ease,color .2s ease,border-color .2s ease}
.icon-btn:hover{transform:translateY(-2px) rotate(-2deg);border-color:color-mix(in srgb,var(--gold) 20%,var(--glassBorder))}
.command-trigger{transition:transform .22s var(--spring),background .22s ease,border-color .22s ease,box-shadow .22s ease}
.command-trigger:hover{transform:translateY(-1px);background:var(--glassStrong);border-color:color-mix(in srgb,var(--gold) 22%,var(--glassBorder));box-shadow:0 12px 34px rgba(18,20,24,.10)}
.status-dot.success{animation:statusBreath 2.4s ease-in-out infinite}
