.login-wrap[data-v-369bea67]{display:flex;min-height:100vh;background:#f5f7fa}.login-left[data-v-369bea67]{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#078a52,#056b3f);color:#fff}.brand[data-v-369bea67]{text-align:center}.brand h1[data-v-369bea67]{margin:24px 0 8px;font-size:36px;font-weight:700}.brand p[data-v-369bea67]{margin:0;font-size:16px;opacity:.9}.login-right[data-v-369bea67]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card[data-v-369bea67]{width:100%;max-width:400px;text-align:center}.logo[data-v-369bea67]{display:flex;justify-content:center;margin-bottom:16px}.login-card h1[data-v-369bea67]{margin:0 0 8px;font-size:28px;color:#078a52}.login-card .sub[data-v-369bea67]{margin:0 0 32px;color:#666;font-size:14px}.login-form[data-v-369bea67]{text-align:left}.form-item[data-v-369bea67]{margin-bottom:16px}.form-item label[data-v-369bea67]{display:block;margin-bottom:6px;font-size:14px;color:#333}.form-item input[data-v-369bea67]{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-item input[data-v-369bea67]:focus{outline:none;border-color:#078a52}.form-item input[data-v-369bea67]:disabled{background:#f5f5f5;cursor:not-allowed}.error-msg[data-v-369bea67]{margin:0 0 16px;padding:8px 12px;background:#fff2f0;border:1px solid #ffccc7;border-radius:4px;color:#cf1322;font-size:13px}.login-btn[data-v-369bea67]{width:100%;padding:12px;background:#078a52;border:none;border-radius:6px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.login-btn[data-v-369bea67]:hover:not(:disabled){background:#056b3f}.login-btn[data-v-369bea67]:disabled{background:#a0d8bd;cursor:not-allowed}:root{--clay-black: #000000;--clay-white: #ffffff;--clay-cream: #faf9f7;--matcha-300: #84e7a5;--matcha-600: #078a52;--matcha-800: #02492a;--slushie-500: #3bd3fd;--slushie-800: #0089ad;--lemon-400: #f8cc65;--lemon-500: #fbbd41;--lemon-700: #d08a11;--lemon-800: #9d6a09;--ube-300: #c1b0ff;--ube-800: #43089f;--ube-900: #32037d;--pomegranate-400: #fc7981;--blueberry-800: #01418d;--warm-silver: #9f9b93;--warm-charcoal: #55534e;--dark-charcoal: #333333;--oat-border: #dad4c8;--oat-light: #eee9df;--cool-border: #e6e8ec;--dark-border: #525a69;--light-frost: #eff1f3;--badge-blue-bg: #f0f8ff;--badge-blue-text: #3859f9;--clay-shadow: rgba(0,0,0,.1) 0px 1px 1px, rgba(0,0,0,.04) 0px -1px 1px inset, rgba(0,0,0,.05) 0px -.5px 1px;--clay-shadow-hover: rgb(0,0,0) -7px 7px;--focus-ring: rgb(20, 110, 245) solid 2px;--r-sharp: 4px;--r-standard: 8px;--r-badge: 11px;--r-card: 12px;--r-feature: 24px;--r-section: 40px;--r-pill: 1584px;--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Space Mono", "Fira Code", Consolas, monospace;--sidebar-w: 260px;--header-h: auto;--content-px: 32px;--content-py: 14px;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--c-text: var(--clay-black);--c-border: var(--oat-border);--c-muted-bg: var(--oat-light);--c-success: var(--matcha-600);--c-success-soft: rgba(7,138,82,.08);--c-warning: var(--lemon-700);--c-warning-soft: rgba(208,138,17,.08);--c-danger: #dc2626;--c-danger-soft: rgba(220,38,38,.08);--c-info: var(--slushie-800);--c-info-soft: rgba(0,137,173,.08)}*{box-sizing:border-box;padding:0;margin:0}html,body{height:100%;font-family:var(--font-main);font-size:16px;line-height:1.5;color:var(--c-text);background:var(--clay-cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--dark-charcoal);text-decoration:none}a:hover{color:var(--ube-800)}input,select,textarea,button{font-family:inherit;font-size:14px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--oat-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--warm-silver)}.login-wrap{display:flex;height:100vh;overflow:hidden}.login-left{position:relative;display:flex;flex:1.2;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--matcha-800)}.login-left:before{position:absolute;inset:0;content:"";background-image:radial-gradient(circle,rgb(132 231 165 / 15%) 1px,transparent 1px);background-size:28px 28px}.login-left .brand{position:relative;z-index:1;text-align:center}.login-left .brand svg{width:72px;height:72px;margin-bottom:24px}.login-left .brand h1{margin-bottom:8px;font-size:36px;font-weight:600;color:#fff;letter-spacing:-1.2px}.login-left .brand p{max-width:300px;font-size:16px;line-height:1.6;color:var(--matcha-300)}.login-right{display:flex;flex:1;align-items:center;justify-content:center;padding:40px;background:var(--clay-cream)}.login-card{width:min(440px,100%);padding:48px 40px;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-feature);box-shadow:var(--clay-shadow)}.login-card .logo{margin-bottom:8px;text-align:center}.login-card .logo svg{width:48px;height:48px}.login-card h1{margin-bottom:6px;font-size:24px;font-weight:600;color:var(--clay-black);text-align:center;letter-spacing:-.5px}.login-card .sub{margin-bottom:36px;font-size:15px;color:var(--warm-silver);text-align:center}.login-card .hint{font-size:14px;line-height:1.8;color:var(--warm-charcoal);text-align:center}.login-card .hint code{padding:4px 12px;font-family:var(--font-mono);font-size:13px;color:var(--ube-800);background:var(--oat-light);border:1px dashed var(--oat-border);border-radius:var(--r-sharp)}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{display:flex;flex-direction:column;width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--clay-white);border-right:1px solid var(--oat-border);transition:width .25s var(--ease-default),min-width .25s var(--ease-default),transform .25s var(--ease-default)}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:24px 20px 20px;border-bottom:1px solid var(--oat-light)}.sidebar-brand .icon{display:flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;font-size:18px;font-weight:700;color:#fff;background:var(--matcha-600);border-radius:var(--r-card);box-shadow:var(--clay-shadow)}.sidebar-brand h2{overflow:hidden;font-size:17px;font-weight:600;color:var(--clay-black);letter-spacing:-.3px;white-space:nowrap}.sidebar-brand .tag{margin-top:2px;overflow:hidden;font-size:10px;color:var(--warm-silver);text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap}.sidebar-nav{flex:1;padding:12px 10px 0;overflow-y:auto}.nav-sect{padding:16px 14px 6px;font-size:10px;font-weight:600;color:var(--warm-silver);text-transform:uppercase;letter-spacing:1.5px}.nav-sep{height:1px;margin:8px 14px;background:var(--oat-border)}.nav-item{display:flex;gap:10px;align-items:center;padding:10px 14px;margin-bottom:2px;font-size:14px;font-weight:500;color:var(--warm-charcoal);cursor:pointer;border:1px solid transparent;border-radius:var(--r-card);transition:all var(--duration-fast) var(--ease-default)}.nav-item:hover{color:var(--clay-black);background:var(--oat-light);border-color:var(--oat-border)}.nav-item.active{font-weight:600;color:var(--matcha-800);background:var(--matcha-300);border-color:var(--matcha-600);box-shadow:var(--clay-shadow)}.nav-item svg{flex-shrink:0;width:18px;min-width:18px;height:18px;opacity:.6}.nav-item.active svg{color:var(--matcha-800);opacity:1}.nav-item span{overflow:hidden;white-space:nowrap}.sidebar-foot{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:14px 16px;border-top:1px solid var(--oat-light)}.sidebar-foot .status{display:flex;gap:8px;align-items:center;flex-shrink:0;font-size:12px;font-weight:500;color:var(--warm-silver)}.sidebar-foot .dot{width:8px;min-width:8px;height:8px;background:var(--matcha-600);border-radius:50%;box-shadow:0 0 8px #078a5266}.sidebar-foot .status span{overflow:hidden;white-space:nowrap}.logout-btn{display:flex;gap:6px;align-items:center;flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:500;color:var(--warm-charcoal);cursor:pointer;background:transparent;border:1px solid transparent;border-radius:var(--r-card);transition:all var(--duration-fast) var(--ease-default)}.logout-btn:hover{color:#c0392b;background:#fdecea;border-color:#f5c6cb}.logout-btn svg{flex-shrink:0;width:16px;min-width:16px;height:16px;opacity:.6}.logout-btn:hover svg{opacity:1}.logout-btn span{overflow:hidden;white-space:nowrap}.main-area{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden;background:var(--clay-cream)}.topbar{display:none}.content{flex:1;min-height:0;padding:var(--content-py) var(--content-px);overflow-y:auto;-webkit-overflow-scrolling:touch}.page-header{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:12px}.page-title{display:none}.page-desc{font-size:18px;line-height:1.5;color:var(--warm-charcoal)}.page-actions{display:flex;flex-shrink:0;gap:8px;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats-group-title{grid-column:1/-1;padding:5px 0 1px;margin-top:2px;font-size:11px;font-weight:600;color:var(--warm-silver);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--oat-light)}.stats-group-title:first-child{margin-top:0}.stat{display:flex;gap:18px;align-items:center;padding:16px 28px 16px 34px;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-feature);box-shadow:var(--clay-shadow);transition:all var(--duration-normal) var(--ease-default)}.stat:hover{box-shadow:var(--clay-shadow-hover)}.stat.clickable{position:relative;cursor:pointer}.stat.clickable:hover{border-color:var(--matcha-300);transform:translateY(-2px)}.stat-click-hint{position:absolute;top:50%;right:12px;color:var(--warm-silver);opacity:0;transform:translateY(-50%);transition:opacity var(--duration-fast) var(--ease-default)}.stat.clickable:hover .stat-click-hint{opacity:.5}.stat.alert{border-color:var(--pomegranate-400);animation:alertPulse 2s infinite}@keyframes alertPulse{0%,to{box-shadow:0 0 #fc798166}50%{box-shadow:0 0 0 8px #fc798100}}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;border-radius:var(--r-feature)}.stat-icon svg{width:26px;height:26px}.stat-icon.matcha{color:var(--matcha-600);background:#84e7a533}.stat-icon.slushie{color:var(--slushie-800);background:#3bd3fd26}.stat-icon.lemon{color:var(--lemon-700);background:#fbbd4133}.stat-icon.ube{color:var(--ube-800);background:#c1b0ff33}.stat-icon.pomegranate{color:#c0392b;background:#fc798126}.stat-icon.blueberry{color:var(--blueberry-800);background:#01418d1a}.stat-content{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.stat-lbl{height:18px;font-size:13px;font-weight:600;line-height:18px;color:var(--warm-silver);text-transform:uppercase;letter-spacing:.5px}.stat-main-row{display:flex;gap:46px;align-items:center;min-height:38px}.stat-val{width:110px;min-width:110px;max-width:110px;font-size:clamp(18px,2.2vw,28px);font-weight:800;line-height:1.2;color:var(--clay-black);text-align:left;letter-spacing:-.02em;white-space:nowrap}.stat-sub-inline{display:flex;gap:16px;align-items:center;min-height:22px;font-size:15px;font-weight:600;color:var(--warm-charcoal);white-space:nowrap}.stat-sub-stack{display:flex;flex-direction:column;gap:2px;align-items:flex-end;min-width:140px}.stat-today-row{font-size:13px;font-weight:600;line-height:1.4;color:var(--warm-charcoal);text-align:right;white-space:nowrap}.stat-cmp{display:inline-flex;gap:2px;align-items:center;font-family:var(--font-mono);font-size:14.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.stat-cmp.up{color:var(--pomegranate-400)}.stat-cmp.down{color:var(--matcha-600)}.stat-cmp.flat{color:var(--warm-silver)}.stat-details-inline{display:flex;align-items:center;min-height:22px;font-size:15px;line-height:1.4;color:var(--warm-silver);letter-spacing:.2px}.stat-detail-inline{display:inline-flex;gap:0;align-items:center;min-height:22px;font-size:15px;line-height:1.4}.dpair{display:inline-flex;gap:2px;align-items:center;min-width:72px;white-space:nowrap}.dpair .dlbl{min-width:28px;font-size:14px;font-weight:600;color:var(--warm-silver);text-align-last:justify}.dpair .dval{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--clay-black)}.dsep{margin:0 6px;font-weight:300;color:var(--oat-border);-webkit-user-select:none;user-select:none}.panel{width:100%;overflow:hidden;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-feature);box-shadow:var(--clay-shadow)}.panel-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--oat-light)}.panel-head h4{font-size:17px;font-weight:600;color:var(--clay-black);letter-spacing:-.2px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tab-group{display:flex;gap:0;overflow:hidden;border:1px solid var(--oat-border);border-radius:var(--r-pill)}.tab-btn{padding:4px 14px;font-size:12px;color:var(--warm-charcoal);cursor:pointer;background:var(--clay-white);border:none;transition:all .15s}.tab-btn:hover{background:var(--oat-light)}.tab-btn.active{color:#fff;background:var(--matcha-600)}.search-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;margin-bottom:16px;background:var(--oat-light);border:1px dashed var(--oat-border);border-radius:var(--r-card)}.fi{width:clamp(140px,16vw,200px);padding:9px 14px;font-size:14px;color:var(--c-text);outline:none;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-sharp);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.fi:focus{border-color:var(--blueberry-800);box-shadow:0 0 0 2px #01418d26}.fs{padding:9px 28px 9px 14px;font-size:14px;color:var(--c-text);appearance:none;cursor:pointer;outline:none;background:var(--clay-white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239f9b93' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;border:1px solid var(--oat-border);border-radius:var(--r-sharp);transition:border-color var(--duration-fast) var(--ease-default)}.fs:focus{border-color:var(--blueberry-800);box-shadow:0 0 0 2px #01418d26}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;min-width:600px;table-layout:fixed;border-collapse:collapse}th{padding:12px 16px;font-size:11px;font-weight:600;color:var(--warm-silver);text-align:center;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;background:transparent;border-bottom:1px solid var(--oat-border)}td{padding:14px 16px;font-size:14px;color:var(--warm-charcoal);text-align:center;white-space:nowrap;border-bottom:1px solid var(--oat-light)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--oat-light)}.empty{padding:56px 20px;font-size:15px;color:var(--warm-silver);text-align:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:32px 20px;color:var(--warm-silver);text-align:center}.empty-state svg{margin-bottom:12px;opacity:.35}.empty-state p{margin-bottom:4px;font-size:15px;font-weight:500;color:var(--warm-charcoal)}.empty-state span{font-size:13px;color:var(--warm-silver)}.pagination{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:16px 24px;font-size:13px;color:var(--warm-silver);border-top:1px solid var(--oat-light)}.page-btns{display:flex;flex-wrap:wrap;gap:4px}.pb{padding:6px 12px;font-size:13px;font-weight:500;color:var(--warm-charcoal);cursor:pointer;background:transparent;border:1px solid transparent;border-radius:var(--r-card);transition:all var(--duration-fast) var(--ease-default)}.pb:hover:not(:disabled):not(.active){color:var(--clay-black);background:var(--oat-light);border-color:var(--oat-border)}.pb.active{color:#fff;background:var(--matcha-600);border-color:var(--matcha-600)}.pb:disabled{cursor:not-allowed;opacity:.3}.badge{display:inline-flex;gap:5px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;letter-spacing:.2px;border-radius:var(--r-pill)}.badge:before{width:6px;min-width:6px;height:6px;content:"";border-radius:50%}.badge-ok{color:var(--matcha-800);background:#84e7a533}.badge-ok:before{background:var(--matcha-600)}.badge-warn{color:var(--lemon-800);background:#fbbd4133}.badge-warn:before{background:var(--lemon-500)}.badge-err{color:#b91c1c;background:#fc798126}.badge-err:before{background:var(--pomegranate-400)}.badge-info{color:var(--slushie-800);background:#3bd3fd26}.badge-info:before{background:var(--slushie-500)}.badge-mute{color:var(--warm-silver);background:var(--oat-light)}.badge-mute:before{background:var(--oat-border)}.btn{display:inline-flex;gap:6px;align-items:center;justify-content:center;min-height:38px;padding:9px 20px;font-size:14px;font-weight:500;letter-spacing:-.1px;white-space:nowrap;cursor:pointer;border:none;border-radius:var(--r-pill);transition:all var(--duration-fast) var(--ease-default)}.btn:disabled{cursor:not-allowed;opacity:.4}.btn-pri{color:#fff;background:var(--matcha-600);border:1px solid var(--matcha-600)}.btn-pri:hover:not(:disabled){background:var(--matcha-800);border-color:var(--matcha-800);box-shadow:var(--clay-shadow-hover)}.btn-ok{color:#fff;background:var(--matcha-600);border:1px solid var(--matcha-600)}.btn-ok:hover:not(:disabled){background:var(--matcha-800);box-shadow:var(--clay-shadow-hover)}.btn-err{color:#fff;background:var(--pomegranate-400);border:1px solid var(--pomegranate-400)}.btn-err:hover:not(:disabled){background:#e74c5a;box-shadow:var(--clay-shadow-hover)}.btn-gst{color:var(--clay-black);background:var(--clay-white);border:1px solid var(--oat-border)}.btn-gst:hover:not(:disabled){background:var(--oat-light);border-color:var(--warm-silver);box-shadow:var(--clay-shadow-hover)}.btn-sm{min-height:32px;padding:6px 14px;font-size:13px}.btn-link{min-height:auto;padding:2px 6px;font-size:13px;font-weight:500;color:var(--matcha-600);cursor:pointer;background:none;border:none;border-radius:var(--r-sharp);transition:background var(--duration-fast) var(--ease-default)}.btn-link:hover{background:#84e7a526}.btn-link.danger{color:#dc2626}.btn-link.danger:hover{background:#fc79811a}.btn-link.success{color:var(--matcha-600)}.btn-link.success:hover{background:#84e7a526}.modal-overlay{position:fixed;inset:0;z-index:999;display:flex;visibility:hidden;align-items:center;justify-content:center;background:#02492a4d;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity var(--duration-normal) var(--ease-default),visibility var(--duration-normal) var(--ease-default)}.modal-overlay.show{visibility:visible;opacity:1}.modal-box{width:min(520px,94vw);max-height:86vh;overflow-y:auto;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-feature);box-shadow:var(--clay-shadow);transform:translateY(20px) scale(.97);transition:transform var(--duration-slow) var(--ease-spring)}.modal-overlay.show .modal-box{transform:translateY(0) scale(1)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--oat-light)}.modal-head h3{font-size:18px;font-weight:600;color:var(--clay-black);letter-spacing:-.3px}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;font-size:18px;line-height:1;color:var(--warm-silver);cursor:pointer;background:none;border:none;border-radius:var(--r-card);transition:all var(--duration-fast) var(--ease-default)}.modal-close:hover{color:var(--clay-black);background:var(--oat-light)}.modal-body{padding:20px 24px}.modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:16px 24px 20px;border-top:1px solid var(--oat-light)}.form-field{margin-bottom:18px}.form-field label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--warm-silver);text-transform:uppercase;letter-spacing:.8px}.form-field input,.form-field select,.form-field textarea{width:100%;padding:10px 14px;font-size:14px;color:var(--c-text);outline:none;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-sharp);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blueberry-800);box-shadow:0 0 0 2px #01418d26}.form-field textarea{min-height:60px;resize:vertical}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-cell{padding:16px;background:var(--oat-light);border:1px dashed var(--oat-border);border-radius:var(--r-card)}.detail-label{margin-bottom:4px;font-size:10px;font-weight:600;color:var(--warm-silver);text-transform:uppercase;letter-spacing:.8px}.detail-value{font-size:15px;font-weight:500;color:var(--clay-black);word-break:break-all}.target-cell{display:inline-flex;gap:6px;align-items:center;padding:3px 6px;cursor:pointer;border-radius:6px;transition:background var(--duration-fast) var(--ease-default)}.target-cell:hover{background:#01418d0f}.target-cell.cursor-default{cursor:default}.target-cell.cursor-default:hover{background:none}.target-hint{font-size:11px;color:var(--warm-silver);opacity:1}.target-popover{position:fixed;z-index:9999;width:320px;overflow:hidden;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:10px;box-shadow:0 8px 30px #02492a26}.popover-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:12px;font-weight:600;color:var(--matcha-800);background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-bottom:1px solid var(--oat-border)}.popover-close{padding:0 4px;font-size:18px;line-height:1;color:var(--warm-silver);cursor:pointer;background:none;border:none}.popover-close:hover{color:#b91c1c}.popover-search{width:100%;padding:8px 12px;font-size:13px;color:var(--c-text);outline:none;border:none;border-bottom:1px solid var(--oat-border)}.popover-search::placeholder{color:var(--warm-silver)}.popover-body{max-height:260px;padding:4px 0;overflow-y:auto}.popover-empty{padding:20px;font-size:13px;color:var(--warm-silver);text-align:center}.popover-row{display:flex;gap:6px;align-items:center;padding:7px 14px;font-size:12px;border-bottom:1px solid var(--oat-light);transition:background var(--duration-fast) var(--ease-default)}.popover-row:last-child{border-bottom:none}.popover-row:hover{background:#84e7a514}.toast-container{position:fixed;top:20px;left:50%;z-index:1999;display:flex;flex-direction:column;gap:8px;align-items:center;transform:translate(-50%)}.toast{display:flex;gap:10px;align-items:center;min-width:280px;padding:14px 20px;font-size:14px;font-weight:500;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-card);box-shadow:var(--clay-shadow);animation:toastIn .3s var(--ease-spring)}.toast-ok{color:var(--matcha-800);border-left:4px solid var(--matcha-600)}.toast-err{color:#b91c1c;border-left:4px solid var(--pomegranate-400)}.toast-warn{color:var(--lemon-800);border-left:4px solid var(--lemon-500)}.toast-info{color:var(--slushie-800);border-left:4px solid var(--slushie-500)}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.tp-proj{font-weight:500;color:var(--ube-800)}.tp-nam{font-weight:500;color:var(--pomegranate-400)}.tp-chat{font-weight:500;color:var(--matcha-600)}.tp-other{font-weight:500;color:var(--warm-silver)}.code-txt{font-family:var(--font-mono);font-size:12px;color:var(--ube-800);letter-spacing:.3px}.menu-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;color:var(--warm-charcoal);cursor:pointer;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-card);transition:all var(--duration-fast) var(--ease-default)}.menu-toggle:hover{background:var(--oat-light);border-color:var(--warm-silver)}.menu-toggle svg{width:22px;height:22px}.sidebar-overlay{position:fixed;inset:0;z-index:899;display:none;background:#02492a33;opacity:0;transition:opacity .25s var(--ease-default)}.sidebar-overlay.show{opacity:1}.confirm-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#02492a4d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.monitoring-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.monitor-item{display:inline-flex;gap:8px;align-items:center;padding:10px 16px;font-size:13px;cursor:pointer;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-pill);box-shadow:var(--clay-shadow);transition:all var(--duration-fast) var(--ease-default)}.monitor-item:hover{box-shadow:var(--clay-shadow-hover);transform:translateY(-1px)}.monitor-item.critical{background:#fc79810d;border-color:var(--pomegranate-400)}.monitor-item.warning{background:#fbbd410d;border-color:var(--lemon-500)}.monitor-item.info{border-color:var(--slushie-500)}.monitor-icon{font-size:16px}.monitor-label{font-weight:600;color:var(--warm-silver)}.monitor-value{font-family:var(--font-mono);font-weight:800;color:var(--clay-black)}.monitor-value.up{color:var(--matcha-600)}.monitor-value.down{color:var(--pomegranate-400)}.monitor-value.flat{color:var(--warm-silver)}.monitor-action{margin-left:4px;font-weight:600;color:var(--blueberry-800)}.confirm-box{width:min(420px,90vw);padding:32px;text-align:center;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-feature);box-shadow:var(--clay-shadow)}.confirm-box p{margin-bottom:28px;font-size:16px;font-weight:500;line-height:1.6;color:var(--clay-black)}.confirm-box .actions{display:flex;gap:10px;justify-content:center}.progress-bar{height:8px;margin-top:6px;overflow:hidden;background:var(--oat-light);border:1px dashed var(--oat-border);border-radius:var(--r-pill)}.progress-bar .fill{height:100%;border-radius:var(--r-pill);transition:width var(--duration-normal) var(--ease-default)}.progress-bar .fill.matcha{background:var(--matcha-600)}.progress-bar .fill.ube{background:var(--ube-800)}.progress-bar .fill.pomegranate{background:var(--pomegranate-400)}.progress-bar .fill.slushie{background:var(--slushie-500)}.progress-bar .fill.oat{background:var(--oat-border)}.dashboard-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.dashboard-cols .panel-head{min-height:82px}@media (max-width: 1200px){.dashboard-cols{grid-template-columns:1fr 1fr}}@media (max-width: 900px){.dashboard-cols{grid-template-columns:1fr}}tr.selected{background:#84e7a514}.btn.danger{color:var(--pomegranate-400);border-color:var(--pomegranate-400)}.btn.danger:hover{color:#fff;background:var(--pomegranate-400)}@media (max-width: 1200px){.sidebar{width:68px;min-width:68px}.sidebar-brand{gap:0;justify-content:center;padding:18px 8px}.sidebar-brand h2,.sidebar-brand .tag,.nav-item span,.sidebar-foot .status span,.logout-btn span{display:none}.nav-item{justify-content:center;padding:12px 8px}.logout-btn{justify-content:center;padding:8px}.sidebar-foot{justify-content:center;padding:16px 8px}.sidebar-foot .status{justify-content:center}.stats{grid-template-columns:repeat(4,1fr)}.stat-val{width:100px;min-width:100px;max-width:100px}}@media (max-width: 900px){.menu-toggle{display:flex}.sidebar{position:fixed;z-index:900;width:260px;min-width:260px;height:100vh;transform:translate(-100%);transition:transform .25s var(--ease-default)}.sidebar.open{transform:translate(0)}.sidebar-brand h2,.sidebar-brand .tag,.nav-item span,.sidebar-foot .status span{display:unset}.sidebar-brand{gap:12px;justify-content:flex-start;padding:24px 20px 20px}.nav-item{justify:flex-start;padding:10px 14px}.sidebar-foot{padding:16px 20px}.sidebar-foot .status{justify-content:flex-start}.sidebar-overlay{display:block}.stats{grid-template-columns:repeat(3,1fr)}.stat-val{width:90px;min-width:90px;max-width:90px}.login-left{display:none}.login-right{flex:1}}@media (max-width: 768px){.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:24px}.stat{padding:12px}.stat-val{width:80px;min-width:80px;max-width:80px;font-size:20px}.stat-main-row{gap:24px}.panel-head{flex-direction:column;align-items:stretch;padding:16px}.detail-grid{grid-template-columns:1fr}.content{padding:20px 16px}.pagination{flex-direction:column;gap:10px;align-items:stretch}.page-btns{justify-content:center}.page-header{flex-direction:column}}@media (max-width: 480px){.stats{grid-template-columns:1fr;gap:10px}.stat-val{font-size:18px}.content{padding:16px 12px}.login-card{padding:36px 24px}.btn{min-height:42px;padding:10px 16px}.fi,.fs{width:100%;font-size:15px}.toolbar{flex-direction:column;width:100%}.toolbar select,.toolbar input,.toolbar button{width:100%}}.trend-summary{margin-left:12px;font-size:13px;font-weight:400;color:var(--warm-silver)}.skeleton{background:linear-gradient(90deg,var(--oat-light) 25%,var(--oat-border) 50%,var(--oat-light) 75%);background-size:200% 100%;border-radius:var(--r-card);animation:shimmer 1.5s infinite}.skeleton-chart{width:100%;height:180px}.skeleton-row{width:100%;height:40px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.legend-list{display:flex;flex:1;flex-direction:column;gap:2px;justify-content:center;min-width:0}.legend-item{display:flex;gap:12px;align-items:center;padding:7px 10px;border-radius:var(--r-card);transition:all var(--duration-fast) var(--ease-default)}.legend-item:hover{background:var(--oat-light);transform:translate(2px)}.legend-dot{width:14px;min-width:14px;height:14px;border-radius:50%;box-shadow:0 2px 6px #00000026;transition:transform var(--duration-fast) var(--ease-default)}.legend-item:hover .legend-dot{transform:scale(1.15)}.legend-name{flex:1;font-size:14px;font-weight:600;color:var(--warm-charcoal);letter-spacing:-.01em}.legend-pct{min-width:52px;font-size:16px;font-weight:800;color:var(--clay-black);text-align:right;letter-spacing:-.02em}.legend-cost{min-width:70px;font-family:var(--font-mono);font-size:13px;color:var(--warm-silver);text-align:right}.segment-bars{display:flex;flex-direction:column;gap:6px}.segment-row{display:flex;gap:10px;align-items:center;padding:5px 8px;border-radius:var(--r-card);transition:background var(--duration-fast) var(--ease-default)}.segment-row:hover{background:var(--oat-light)}.segment-label{display:flex;gap:4px;align-items:center;width:155px;min-width:155px}.segment-label strong{flex-shrink:0;width:60px;font-size:12px;font-weight:700;white-space:nowrap}.segment-name{flex-shrink:0;width:56px;font-size:11px;font-weight:500;color:var(--warm-silver);white-space:nowrap}.segment-score{flex:1;font-size:10px;font-weight:600;color:var(--matcha-800);text-align:left;white-space:nowrap}.segment-bar-wrap{position:relative;flex:1;height:18px;overflow:hidden;background:var(--oat-light);border:1px dashed var(--oat-border);border-radius:var(--r-pill)}.segment-bar{position:relative;height:100%;border-radius:var(--r-pill);transition:width var(--duration-normal) var(--ease-default)}.segment-bar:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent 0%,rgb(255 255 255 / 20%) 50%,transparent 100%)}.segment-info{display:flex;flex-shrink:0;flex-wrap:wrap;gap:5px;align-items:center;font-size:11px}.segment-count{min-width:35px;font-size:12px;font-weight:700;color:var(--clay-black);white-space:nowrap}.segment-avg{padding:1px 4px;font-size:10px;color:var(--warm-silver);background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-sharp)}.live-indicator{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:600;color:var(--pomegranate-400)}.live-dot{width:8px;height:8px;background:var(--pomegranate-400);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.activity-list{display:flex;flex-direction:column;gap:2px;padding:16px 20px}.activity-item{display:flex;gap:12px;align-items:center;padding:8px 10px;border-radius:var(--r-card);transition:all var(--duration-fast) var(--ease-default)}.activity-item:hover{background:var(--oat-light);transform:translate(2px)}.activity-time{flex-shrink:0;width:48px;font-family:var(--font-mono);font-size:11px;color:var(--warm-silver);text-align:right}.activity-content{display:flex;flex:1;gap:4px;align-items:center;font-size:13px}.activity-type{box-sizing:border-box;display:inline-block;flex-shrink:0;width:76px;padding:2px 10px;font-size:11px;font-weight:600;text-align:center;white-space:nowrap;border-radius:var(--r-pill)}.type-project{color:var(--ube-800);background:#c1b0ff33}.type-naming{color:#c0392b;background:#fc798126}.type-chat{color:var(--matcha-800);background:#84e7a533}.type-other{color:var(--warm-silver);background:var(--oat-light)}.activity-desc{flex:1;min-width:0;color:var(--warm-charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-cost{flex-shrink:0;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--lemon-700);text-align:right;white-space:nowrap}.skeleton-activity{width:100%;height:220px}.dc-title{margin:0;font-size:20px;font-weight:700;color:var(--clay-black);letter-spacing:-.3px}.dc-subtitle{margin-top:2px;font-size:13px;color:var(--warm-silver)}.dc-tabs-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding-bottom:6px;margin-bottom:10px;border-bottom:2px solid var(--oat-light)}.dc-tabs{display:flex;flex:1;gap:4px;min-width:0}.dc-tab{display:flex;gap:6px;align-items:center;padding:10px 18px;margin-bottom:-2px;font-size:14px;font-weight:500;color:var(--warm-charcoal);cursor:pointer;background:transparent;border:none;border-bottom:2px solid transparent;transition:all var(--duration-fast) var(--ease-default)}.dc-tab:hover{color:var(--matcha-800);background:#84e7a50d}.dc-tab.active{font-weight:700;color:var(--matcha-800);border-bottom-color:var(--matcha-600)}.dc-tab-icon{font-size:16px}.dc-tab-label{white-space:nowrap}.dc-loading{padding:40px 0}.dc-content{animation:dcFadeIn .25s var(--ease-default)}@keyframes dcFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dc-range-group{display:flex;gap:0;overflow:hidden;border:1px solid var(--oat-border);border-radius:var(--r-pill)}.dc-range-btn{padding:6px 14px;font-size:12px;font-weight:600;color:var(--warm-charcoal);white-space:nowrap;cursor:pointer;background:var(--clay-white);border:none;transition:all .15s}.dc-range-btn:hover{background:var(--oat-light)}.dc-range-btn.active{color:#fff;background:var(--matcha-600)}.dc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.dc-metric-card{padding:18px 22px;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-feature);box-shadow:var(--clay-shadow);transition:all var(--duration-fast) var(--ease-default)}.dc-metric-card:hover{box-shadow:var(--clay-shadow-hover)}.dc-metric-card.highlight{border-color:var(--matcha-600);box-shadow:0 0 0 3px #078a521a}.dc-metric-card.alert-card{background:#fc798108;border-color:var(--pomegranate-400)}.dc-metric-label{margin-bottom:10px;font-size:12px;font-weight:600;color:var(--warm-silver);text-transform:uppercase;letter-spacing:.5px}.dc-metric-row{display:flex;gap:20px}.dc-metric-item{display:flex;flex-direction:column;gap:2px}.dc-metric-sub{font-size:11px;font-weight:500;color:var(--warm-silver)}.dc-metric-val{font-family:var(--font-mono);font-size:20px;font-weight:800;color:var(--clay-black);letter-spacing:-.02em}.dc-val-alert{color:var(--pomegranate-400)}.dc-compare-val{font-family:var(--font-mono);font-size:22px;font-weight:800;line-height:1.2;color:var(--clay-black);letter-spacing:-.02em}.dc-compare-prev{margin-top:4px;font-size:12px;font-weight:500;color:var(--warm-silver)}.dc-compare-change{margin-top:2px;font-family:var(--font-mono);font-size:13px;font-weight:700}.dc-compare-change.up{color:var(--matcha-600)}.dc-compare-change.down{color:var(--pomegranate-400)}.dc-compare-change.flat{color:var(--warm-silver)}.dc-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dc-panel-wide{grid-column:1}.dc-panel-hint{font-size:12px;font-weight:400;color:var(--warm-silver)}.dc-funnel-table{display:flex;flex-direction:column;gap:8px}.dc-funnel-step{display:flex;gap:12px;align-items:center}.dc-funnel-stage{width:80px;min-width:80px;font-size:13px;font-weight:600;color:var(--warm-charcoal);text-align:right}.dc-funnel-bar-wrap{flex:1;height:24px;overflow:hidden;background:var(--oat-light);border:1px dashed var(--oat-border);border-radius:var(--r-pill)}.dc-funnel-bar{min-width:2px;height:100%;border-radius:var(--r-pill);transition:width var(--duration-normal) var(--ease-default)}.dc-funnel-count{min-width:60px;font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--clay-black)}.dc-funnel-rate{min-width:45px;font-size:12px;color:var(--warm-silver)}.dc-funnel-drop{font-size:11px;font-weight:600;color:var(--pomegranate-400)}.dc-channel-list{display:flex;flex-direction:column;gap:6px}.dc-channel-item{display:flex;gap:12px;align-items:center;padding:8px 10px;border-radius:var(--r-card);transition:background var(--duration-fast) var(--ease-default)}.dc-channel-item:hover{background:var(--oat-light)}.dc-channel-name{flex:1;font-size:14px;font-weight:600;color:var(--warm-charcoal)}.dc-channel-count{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--clay-black)}.dc-channel-rate{font-size:12px;color:var(--warm-silver)}.dc-doughnut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.dc-doughnut-val{font-family:var(--font-mono);font-size:22px;font-weight:800;color:var(--clay-black)}.dc-rate-info{display:flex;flex-direction:column;gap:8px}.dc-rate-item{display:flex;flex-direction:column;gap:2px}.dc-rate-label{font-size:11px;font-weight:500;color:var(--warm-silver)}.dc-rate-value{font-family:var(--font-mono);font-size:16px;font-weight:700}.dc-risk-dist{display:flex;flex-direction:column;gap:10px}.dc-risk-dist-item{display:flex;gap:10px;align-items:center}.dc-risk-dist-count{font-family:var(--font-mono);font-size:18px;font-weight:800;color:var(--clay-black)}.dc-heatmap{overflow-x:auto}.dc-heatmap-row{display:flex;gap:2px;margin-bottom:2px}.dc-heatmap-label{width:80px;min-width:80px;padding-right:8px;font-size:11px;font-weight:500;line-height:24px;color:var(--warm-charcoal);text-align:right}.dc-heatmap-cell{display:flex;align-items:center;justify-content:center;width:40px;height:24px;font-size:10px;font-weight:600;color:#fff;cursor:default;border-radius:3px;transition:transform var(--duration-fast) var(--ease-default)}.dc-heatmap-cell:hover{z-index:1;transform:scale(1.15)}.dc-alert-box{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid;border-radius:var(--r-card)}.dc-alert-box.critical{background:#fc79810f;border-color:var(--pomegranate-400)}.dc-alert-box.warning{background:#fbbd410f;border-color:var(--lemon-500)}.dc-alert-box.ok{background:#84e7a50f;border-color:var(--matcha-600)}.dc-alert-icon{flex-shrink:0;font-size:20px}.dc-alert-box strong{font-size:14px;color:var(--clay-black)}.dc-alert-box p{margin-top:2px;font-size:12px;color:var(--warm-charcoal)}.dc-legend-list{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.dc-legend-item{display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:var(--r-card);transition:background var(--duration-fast) var(--ease-default)}.dc-legend-item:hover{background:var(--oat-light)}.dc-legend-name{flex:1;font-size:13px;font-weight:600;color:var(--warm-charcoal)}.dc-legend-total{min-width:60px;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--clay-black)}.dc-legend-used{min-width:50px;font-size:12px;color:var(--warm-silver)}.dc-legend-rate{min-width:40px;font-size:12px;font-weight:600;color:var(--matcha-800)}@media (max-width: 1200px){.dc-metrics{grid-template-columns:repeat(2,1fr)}.dc-panels{grid-template-columns:1fr}}@media (max-width: 768px){.dc-metrics{grid-template-columns:1fr}.dc-tabs-row{flex-direction:column;gap:8px;align-items:stretch}.dc-tabs{flex-wrap:nowrap;overflow-x:auto}.dc-tab{padding:8px 12px;font-size:13px}.dc-tabs-controls{flex-wrap:wrap;justify-content:flex-start}.dc-metric-row{flex-direction:column;gap:8px}.dc-range-group{flex-wrap:wrap}.dc-range-btn{padding:4px 10px;font-size:11px}}.snapshot-card{padding:16px;background:var(--clay-white);border:1px solid var(--oat-border);border-radius:var(--r-feature)}.snapshot-time{margin-bottom:8px;font-size:12px;color:var(--warm-silver)}.snapshot-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}.snapshot-badge{display:inline-block;padding:2px 10px;font-size:12px;font-weight:600;letter-spacing:.3px;border-radius:99px}.badge-out{color:var(--pomegranate-400);background:#fc79811a}.badge-in{color:var(--matcha-800);background:#84e7a526}.snapshot-arrow{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--clay-black)}.snapshot-detail{margin-top:3px;font-size:13px;color:var(--warm-charcoal)}
