@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--bg-color: #0d1117;--panel-bg: rgba(22, 27, 34, .6);--panel-border: rgba(255, 255, 255, .08);--text-primary: #f0f6fc;--text-secondary: #8b949e;--accent-color: #58a6ff;--accent-glow: rgba(88, 166, 255, .2);--success: #2ea043;--warning: #d29922;--danger: #f85149;--sidebar-width: 260px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:-20%;left:-10%;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,#58a6ff0d,#0d111700 70%);z-index:-1;pointer-events:none}body:after{content:"";position:fixed;bottom:-20%;right:-10%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,#a371f70d,#0d111700 70%);z-index:-1;pointer-events:none}.app-container{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);padding:2rem;padding-top:calc(2rem + 56px);max-width:calc(100vw - var(--sidebar-width))}.topbar{position:fixed;top:0;right:0;left:var(--sidebar-width);height:56px;display:flex;align-items:center;justify-content:flex-end;padding:0 2rem;background:#0d1117b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--panel-border);z-index:90}.topbar-user{position:relative}.topbar-user-btn{display:flex;align-items:center;gap:.65rem;padding:.4rem .75rem;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s ease}.topbar-user-btn:hover{background:#ffffff0d;border-color:var(--panel-border)}.topbar-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.topbar-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent-glow);color:var(--accent-color);font-weight:700;font-size:.85rem}.topbar-user-info{display:flex;flex-direction:column;align-items:flex-start}.topbar-user-name{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.2;white-space:nowrap}.topbar-user-email{font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.topbar-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:220px;background:#161b22fa;border:1px solid var(--panel-border);border-radius:12px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 32px #0006;overflow:hidden;animation:topbarDropdownIn .15s ease}@keyframes topbarDropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.topbar-dropdown-info{padding:.9rem 1rem}.topbar-dropdown-name{font-size:.88rem;font-weight:600;color:var(--text-primary);margin-bottom:.15rem}.topbar-dropdown-email{font-size:.75rem;color:var(--text-secondary)}.topbar-dropdown-divider{height:1px;background:var(--panel-border)}.topbar-logout-btn{display:flex;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;color:var(--danger);font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s;text-align:left}.topbar-logout-btn:hover{background:#f851491a}.sidebar{width:var(--sidebar-width);background:#0d1117cc;border-right:1px solid var(--panel-border);position:fixed;height:100vh;padding:1.5rem 1rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:100;display:flex;flex-direction:column}.brand{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1.75rem;padding:0 1rem;display:flex;align-items:center;gap:.75rem}.brand-icon{background:linear-gradient(135deg,var(--accent-color),#a371f7);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-group{margin-bottom:.5rem}.nav-group-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8b949e80;padding:.6rem 1rem .3rem}.nav-menu{list-style:none;display:flex;flex-direction:column;gap:.25rem}.nav-item{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;color:var(--text-secondary);text-decoration:none;border-radius:8px;font-weight:500;font-size:.88rem;transition:all .2s ease;position:relative}.nav-item:hover{background:#ffffff0d;color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:var(--accent-color);border-left:3px solid var(--accent-color)}.nav-item-coming-soon{opacity:.5;pointer-events:none}.nav-badge-soon{margin-left:auto;font-size:.6rem;font-weight:700;letter-spacing:.04em;padding:.15rem .45rem;border-radius:4px;background:#d2992226;color:#d29922;border:1px solid rgba(210,153,34,.3)}.sidebar-footer{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;border-top:1px solid var(--panel-border);margin-top:auto;font-size:.7rem;color:#8b949e8c;font-variant-numeric:tabular-nums}.page-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.page-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:1.5rem;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.glass-panel:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0003}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.panel-title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.stat-diff{font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:4px}.stat-diff.positive{color:var(--success)}.stat-diff.negative{color:var(--danger)}.col-span-12{grid-column:span 12}.col-span-8{grid-column:span 8}.col-span-4{grid-column:span 4}.col-span-6{grid-column:span 6}.col-span-3{grid-column:span 3}@media(max-width:1024px){.col-span-8,.col-span-4,.col-span-3{grid-column:span 6}}@media(max-width:768px){.app-container{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--panel-border)}.main-content{margin-left:0;max-width:100vw}.col-span-8,.col-span-4,.col-span-6,.col-span-3{grid-column:span 12}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;margin-top:2rem}.section-header:first-child{margin-top:0}.section-title{font-size:1.1rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.section-link{color:var(--accent-color);text-decoration:none;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:4px;transition:opacity .2s}.section-link:hover{opacity:.8}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:1.25rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.summary-card:hover{border-color:#ffffff26;transform:translateY(-3px);box-shadow:0 12px 40px #0000004d}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:14px 14px 0 0}.summary-card[data-accent=blue]:before{background:linear-gradient(90deg,#58a6ff,#79c0ff)}.summary-card[data-accent=purple]:before{background:linear-gradient(90deg,#a371f7,#d2a8ff)}.summary-card[data-accent=green]:before{background:linear-gradient(90deg,#2ea043,#7ee787)}.summary-card[data-accent=orange]:before{background:linear-gradient(90deg,#d29922,#ffa657)}.summary-card[data-accent=pink]:before{background:linear-gradient(90deg,#f778ba,#ff9ec7)}.summary-card .card-label{font-size:.8rem;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem}.summary-card .card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.summary-card .card-sub{font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:4px}.summary-card .card-sub.up{color:var(--success)}.summary-card .card-sub.down{color:var(--danger)}.summary-card .card-sub.neutral{color:var(--text-secondary)}.sparkline-area{height:50px;margin-top:.75rem}.period-filter{display:flex;gap:.5rem;background:#ffffff08;border-radius:10px;padding:4px}.period-btn{padding:.4rem 1rem;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.period-btn:hover{color:var(--text-primary)}.period-btn.active{background:var(--accent-glow);color:var(--accent-color);font-weight:600}.tab-bar{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--panel-border);padding-bottom:.5rem;overflow-x:auto}.tab-btn{padding:.5rem 1.25rem;border-radius:8px 8px 0 0;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;border-bottom:2px solid transparent}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-color);font-weight:600;border-bottom-color:var(--accent-color)}.product-table{width:100%;border-collapse:separate;border-spacing:0}.product-table th{text-align:left;color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;border-bottom:1px solid var(--panel-border)}.product-table th:last-child{text-align:right}.product-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.03);font-size:.9rem}.product-table td:last-child{text-align:right;font-weight:600;color:var(--accent-color)}.product-table tr:hover td{background:#ffffff05}.product-table .rank{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:.75rem;font-weight:700}.product-table .rank.top{background:var(--accent-glow);color:var(--accent-color)}.product-table .rank.normal{background:#ffffff0d;color:var(--text-secondary)}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;color:var(--text-secondary);gap:.75rem}.coming-soon-icon{width:48px;height:48px;border-radius:12px;background:#ffffff0d;display:flex;align-items:center;justify-content:center}.coming-soon-text{font-size:.9rem;font-weight:500}.back-btn{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);background:none;border:none;font-family:inherit;font-size:.85rem;cursor:pointer;padding:.5rem 0;margin-bottom:.5rem;transition:color .2s}.back-btn:hover{color:var(--text-primary)}.drill-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drill-panel{width:min(560px,90vw);height:100vh;background:#0d1117fa;border-left:1px solid var(--panel-border);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;animation:slideIn .25s ease;overflow:hidden}.drill-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--panel-border);flex-shrink:0}.drill-title{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.drill-subtitle{font-size:.8rem;color:#a371f7;font-weight:600;margin-top:2px}.drill-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--panel-border);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:inherit}.drill-nav-btn:hover:not(:disabled){background:#ffffff1a;color:var(--text-primary);border-color:#fff3}.drill-nav-btn:disabled{opacity:.3;cursor:not-allowed}.drill-chart-section{padding:1.25rem 1.5rem;border-bottom:1px solid var(--panel-border);flex-shrink:0}.drill-product-section{padding:1.25rem 1.5rem 0;flex:1;display:flex;flex-direction:column;min-height:0}.drill-product-scroll{flex:1;overflow-y:auto;padding-bottom:1.5rem}.drill-product-scroll::-webkit-scrollbar{width:6px}.drill-product-scroll::-webkit-scrollbar-track{background:transparent}.drill-product-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.drill-data-notice{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:#d2992214;border:1px solid rgba(210,153,34,.2);border-radius:8px;font-size:.75rem;color:#d29922;line-height:1.5;margin-bottom:.5rem}.drill-data-notice svg{flex-shrink:0;margin-top:1px}.summary-cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.summary-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:1.1rem 1.25rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s ease}.summary-card:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 24px #00000040}.summary-card-label{font-size:.78rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.summary-card-value{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-bottom:.35rem}.summary-card-change{display:flex;align-items:center}.event-top-table-wrap{padding:.5rem 0}.event-top-table{width:100%;border-collapse:collapse}.event-top-table th{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600;padding:.5rem .75rem;border-bottom:1px solid var(--panel-border);letter-spacing:.05em;text-align:left}.event-top-table td{padding:.65rem .75rem;color:var(--text-primary);font-size:.88rem;border-bottom:1px solid rgba(255,255,255,.03)}.event-row{cursor:pointer;transition:all .2s ease}.event-row:hover{background:#ffffff0a}.event-row.selected{background:#a371f71a;border-left:3px solid #a371f7}.event-bar-bg{width:100%;height:8px;background:#ffffff0a;border-radius:4px;overflow:hidden}.event-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.product-name-cell{font-size:.82rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;display:inline-block;vertical-align:middle}.product-id-link{color:var(--accent-color);cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s ease;text-decoration:none;border-bottom:1px dashed transparent}.product-id-link:hover{color:#79c0ff;border-bottom-color:#58a6ff66}.product-popover-overlay{position:fixed;inset:0;background:#0009;z-index:300;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.product-popover{background:#161b22fa;border:1px solid var(--panel-border);border-radius:18px;padding:1.5rem;width:min(400px,90vw);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 20px 60px #00000080;position:relative;animation:popIn .2s ease}@keyframes popIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.product-popover-close{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;border-radius:8px;border:1px solid var(--panel-border);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:inherit}.product-popover-close:hover{background:#ffffff1a;color:var(--text-primary)}.product-popover-content{display:flex;gap:1.25rem}.product-popover-img{width:140px;height:140px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#ffffff0a;display:flex;align-items:center;justify-content:center}.product-popover-img img{width:100%;height:100%;object-fit:cover}.product-popover-img-empty{display:flex;flex-direction:column;gap:.5rem}.product-popover-info{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.product-popover-id{font-size:.78rem;color:var(--text-secondary);font-weight:500}.product-popover-name{font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.4;word-break:keep-all}.product-popover-cats{display:flex;gap:.4rem;flex-wrap:wrap}.product-cat-badge{display:inline-block;padding:.2rem .6rem;border-radius:6px;font-size:.72rem;font-weight:600;background:#58a6ff1f;color:#58a6ff;border:1px solid rgba(88,166,255,.2)}.product-cat-badge.sub{background:#a371f71a;color:#a371f7;border-color:#a371f733}.product-popover-revenue{font-size:.88rem;color:var(--text-secondary);margin-top:auto}.product-popover-revenue strong{color:var(--text-primary);font-weight:700}.realtime-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);margin-left:.5rem;vertical-align:middle;animation:pulse-dot 2s ease infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 #2ea04380}50%{box-shadow:0 0 0 6px #2ea04300}}.realtime-refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--panel-border);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:inherit}.realtime-refresh-btn:hover:not(:disabled){background:#ffffff1a;color:var(--text-primary);border-color:#fff3}.realtime-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.spin-icon{animation:spin 1s linear infinite}.rt-datetime-input{background:#ffffff0f;border:1px solid var(--panel-border);border-radius:8px;padding:.4rem .6rem;color:var(--text-primary);font-size:.85rem;font-family:inherit;outline:none;transition:border-color .2s}.rt-datetime-input:focus{border-color:var(--accent-color)}.rt-datetime-input::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.rt-cat-card{transition:transform .15s,box-shadow .15s}.rt-cat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.rt-cat-active{box-shadow:0 0 0 2px var(--accent-color)!important}.rt-cat-row{padding:.5rem .6rem;border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:background .15s}.rt-cat-row:hover{background:#ffffff0a}.rt-cat-row.selected{background:#ffffff0f}.rt-event-list{display:flex;flex-direction:column;gap:.25rem}.rt-event-item{display:flex;align-items:center;padding:.5rem .6rem;border-radius:8px;cursor:pointer;transition:background .15s;font-size:.85rem}.rt-event-item:hover{background:#ffffff0f}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color);position:relative;overflow:hidden}.login-bg-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:0}.login-bg-orb-1{top:-15%;left:-10%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(88,166,255,.08) 0%,transparent 70%)}.login-bg-orb-2{bottom:-20%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle,rgba(163,113,247,.08) 0%,transparent 70%)}.login-card{position:relative;z-index:1;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:24px;padding:3rem 2.5rem;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 16px 64px #0006;text-align:center;max-width:420px;width:90vw;animation:loginFadeIn .5s ease}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#58a6ff26,#a371f726);margin-bottom:1.5rem}.login-logo svg{background:linear-gradient(135deg,var(--accent-color),#a371f7);background-clip:text;-webkit-background-clip:text;stroke:var(--accent-color)}.login-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem;letter-spacing:-.02em}.login-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:0;font-weight:400}.login-divider{height:1px;background:var(--panel-border);margin:1.75rem 0}.login-btn-wrapper{display:flex;flex-direction:column;align-items:center;min-height:50px;margin-bottom:1rem}.login-verifying{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:.9rem;padding:.75rem}.login-spinner{width:20px;height:20px;border:2px solid var(--panel-border);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}.login-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f851491a;border:1px solid rgba(248,81,73,.25);border-radius:10px;color:var(--danger);font-size:.85rem;text-align:left;margin-bottom:1rem;animation:loginFadeIn .3s ease}.login-error svg{flex-shrink:0}.login-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);opacity:.7}.sidebar-user{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-top:1px solid var(--panel-border);margin-top:.5rem}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover}.sidebar-user-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent-glow);color:var(--accent-color);font-weight:700;font-size:.85rem}.sidebar-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar-user-name{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:.65rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--panel-border);background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .2s ease}.sidebar-logout-btn:hover{background:#f851491f;border-color:#f851494d;color:var(--danger)}.topbar-hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--panel-border);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.topbar-hamburger:hover{background:#ffffff1a;color:var(--text-primary)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0000008c;z-index:199;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fadeIn .2s ease}@media(max-width:1023px)and (min-width:768px){:root{--sidebar-width: 72px}.sidebar{width:72px;padding:1.25rem .5rem;overflow:hidden}.brand{padding:0;justify-content:center;margin-bottom:1.5rem}.brand-text,.nav-group-label{display:none}.nav-item{padding:.75rem;justify-content:center;border-left:none!important}.nav-item.active{border-left:none;border-radius:10px}.nav-item span:not(.nav-badge-soon){display:none}.nav-badge-soon,.sidebar-user-info{display:none}.sidebar-user{justify-content:center}.sidebar-logout-btn,.sidebar-footer{display:none}.topbar{left:72px}.main-content{margin-left:72px;max-width:calc(100vw - 72px);padding:1.5rem;padding-top:calc(1.5rem + 56px)}}@media(max-width:767px){:root{--sidebar-width: 0px}.sidebar{width:260px;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;z-index:200;padding:1.5rem 1rem}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block}.topbar{left:0;padding:0 1rem}.topbar-hamburger{display:flex}.main-content{margin-left:0;max-width:100vw;padding:1rem;padding-top:calc(1rem + 56px)}.page-title{font-size:1.35rem}.page-subtitle{font-size:.85rem;margin-bottom:1.25rem}.section-title{font-size:.95rem}.section-header{margin-top:1.5rem}}@media(max-width:1023px)and (min-width:480px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:479px){.summary-cards{grid-template-columns:1fr;gap:.75rem}.summary-card .card-value{font-size:1.3rem}.sparkline-area{height:40px}}.md-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.75rem;flex-wrap:wrap}.md-header-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.md-chart-area{height:300px}.md-chart-panel{padding:1.5rem}.product-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.period-filter{flex-wrap:wrap}.tab-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.event-top-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.event-top-table{min-width:700px}@media(max-width:1023px){.dashboard-grid .glass-panel.col-span-6{grid-column:span 12}.summary-cards-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.md-header .page-title{font-size:1.3rem}.md-header .page-subtitle{font-size:.82rem;margin-bottom:.5rem}.period-filter .period-btn{padding:.3rem .6rem;font-size:.78rem}.summary-cards-row{grid-template-columns:1fr}.product-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.product-table{min-width:380px}.md-chart-area{height:200px}.md-chart-panel{min-height:auto!important}}.is-container{min-height:100%}.is-page{max-width:1080px;margin:0 auto;padding-bottom:3rem}.is-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;gap:1rem;flex-wrap:wrap}.is-header-actions{display:flex;gap:.5rem;align-items:center}.is-center{display:flex;align-items:center;justify-content:center;min-height:300px}.is-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem}.is-title-icon{color:#a371f7}.is-subtitle{font-size:.9rem;color:var(--text-secondary)}.is-section-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.is-section-header{display:flex;align-items:center;gap:.75rem;margin:2rem 0 1rem}.is-count{font-size:.8rem;color:var(--text-secondary);background:#ffffff0f;padding:.15rem .5rem;border-radius:20px}.is-btn-primary{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;background:linear-gradient(135deg,#7c3aed,#a371f7);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.is-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #a371f759}.is-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.is-btn-ghost{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--panel-border);border-radius:10px;font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap}.is-btn-ghost:hover{background:#ffffff17;color:var(--text-primary)}.is-btn-ghost:disabled{opacity:.4;cursor:not-allowed}.is-cat-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--panel-border);padding-bottom:0}.is-cat-tab{padding:.6rem 1.4rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;margin-bottom:-1px}.is-cat-tab:hover{color:var(--text-primary)}.is-cat-tab.active{color:#a371f7;border-bottom-color:#a371f7;font-weight:600}.is-cat-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:20px;background:#a371f726;color:#a371f7;border:1px solid rgba(163,113,247,.3);margin-bottom:.6rem}.is-cat-badge-sm{display:inline-block;font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:20px;background:#a371f71f;color:#a371f7;border:1px solid rgba(163,113,247,.25)}.is-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}.is-card-skeleton{height:240px;border-radius:16px;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.is-loading-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}.is-template-card{display:flex;flex-direction:column;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;overflow:hidden;cursor:pointer;text-align:left;width:100%;transition:all .25s;font-family:inherit;position:relative}.is-template-card:hover{border-color:#a371f766;transform:translateY(-3px);box-shadow:0 12px 36px #0000004d,0 0 0 1px #a371f726}.is-card-thumb{width:100%;height:160px;background:#ffffff08;overflow:hidden;flex-shrink:0}.is-card-thumb-img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.is-template-card:hover .is-card-thumb-img{transform:scale(1.04)}.is-card-thumb-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#ffffff26}.is-card-body{padding:1rem;flex:1}.is-card-cat{font-size:.7rem;color:#a371f7;font-weight:600;margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.05em}.is-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem}.is-card-desc{font-size:.82rem;color:var(--text-secondary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem}.is-card-date{font-size:.75rem;color:#8b949e99}.is-card-arrow{position:absolute;right:1rem;bottom:1rem;color:#fff3}.is-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center;gap:.75rem}.is-empty-sm{padding:2.5rem 1rem}.is-empty-icon{color:#a371f74d;margin-bottom:.5rem}.is-empty-title{font-size:1rem;font-weight:600;color:var(--text-secondary)}.is-empty-desc{font-size:.85rem;color:#8b949e99}.is-error{background:#f851491a;border:1px solid rgba(248,81,73,.3);border-radius:10px;padding:.75rem 1rem;color:#f85149;font-size:.88rem}.is-form{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:1.75rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:1.25rem;max-width:700px}.is-form-error{background:#f851491a;border:1px solid rgba(248,81,73,.25);border-radius:8px;padding:.65rem 1rem;color:#f85149;font-size:.85rem}.is-form-group{display:flex;flex-direction:column;gap:.4rem}.is-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.is-required{color:#f85149}.is-input,.is-select,.is-textarea{background:#ffffff0a;border:1px solid var(--panel-border);border-radius:10px;padding:.65rem .9rem;color:var(--text-primary);font-family:inherit;font-size:.9rem;transition:border-color .2s;width:100%}.is-input:focus,.is-select:focus,.is-textarea:focus{outline:none;border-color:#a371f780;background:#a371f70a}.is-select option{background:#1a1d23}.is-textarea{resize:vertical;line-height:1.6}.is-hint{font-size:.78rem;color:#8b949e99}.is-form-actions{display:flex;gap:.6rem;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--panel-border)}.is-asset-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem}.is-asset-item{position:relative;width:80px;height:80px;border-radius:10px;overflow:hidden;background:#ffffff0d;border:1px solid var(--panel-border);cursor:pointer;transition:border-color .2s;flex-shrink:0;padding:0}.is-asset-item:hover{border-color:#a371f780}.is-asset-img{width:100%;height:100%;object-fit:cover;display:block}.is-asset-del{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#000000b3;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;z-index:2}.is-asset-pending{opacity:.8}.is-asset-badge{position:absolute;bottom:0;left:0;right:0;background:#a371f7cc;color:#fff;font-size:.55rem;font-weight:700;text-align:center;padding:2px 0}.is-asset-zoom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;opacity:0;color:#fff;transition:opacity .2s}.is-asset-item:hover .is-asset-zoom{opacity:1}.is-upload-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px dashed rgba(163,113,247,.35);border-radius:10px;background:#a371f70d;color:#a371f7;font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.is-upload-btn:hover{background:#a371f71a;border-color:#a371f799}.is-detail-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:1.5rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-bottom:2rem}.is-detail-header{margin-bottom:1.25rem}.is-detail-name{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.4rem}.is-detail-desc{font-size:.9rem;color:var(--text-secondary)}.is-detail-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--panel-border)}.is-detail-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b949e99;margin-bottom:.6rem}.is-detail-text{font-family:inherit;font-size:.88rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.7}.is-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.is-history-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;background:#ffffff08;border:1px solid var(--panel-border);aspect-ratio:1;padding:0;transition:all .2s}.is-history-item:hover{border-color:#a371f780;transform:scale(1.02)}.is-history-img{width:100%;height:100%;object-fit:cover;display:block}.is-history-date{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);color:#fffc;font-size:.65rem;padding:.5rem .4rem .35rem;text-align:center}.is-history-item-wrap{display:flex;flex-direction:column;gap:.35rem}.is-history-item-wrap .is-history-item{width:100%;height:auto;aspect-ratio:1}.is-history-continue-btn{display:block;width:100%;padding:.3rem 0;background:#a371f71a;border:1px solid rgba(163,113,247,.25);border-radius:8px;color:#a371f7;font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.is-history-continue-btn:hover{background:#a371f733;border-color:#a371f780}.is-chat-layout{display:flex;flex-direction:column;height:calc(100vh - 56px - 2rem);max-height:920px;min-height:500px}.is-chat-header{display:flex;align-items:center;gap:.75rem;padding:0 0 1rem;border-bottom:1px solid var(--panel-border);flex-shrink:0}.is-chat-header-info{display:flex;align-items:center;gap:.6rem;flex:1}.is-chat-template-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.is-chat-messages{flex:1;overflow-y:auto;padding:1.5rem 0;display:flex;flex-direction:column;gap:0;scroll-behavior:smooth}.is-msg{display:flex;align-items:flex-end;gap:.55rem;max-width:720px;width:100%;margin:0 auto;padding:.3rem 1rem}.is-msg-ai{flex-direction:row}.is-msg-user{flex-direction:row-reverse}.is-msg-avatar{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#a371f7);display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #7c3aed59}.is-msg-bubble{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:18px 18px 18px 4px;padding:.8rem 1.1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:calc(100% - 48px);box-shadow:0 2px 12px #0000002e}.is-msg-user .is-msg-bubble{background:linear-gradient(135deg,#7c3aed38,#a371f726);border-color:#a371f759;border-radius:18px 18px 4px;box-shadow:0 2px 12px #7c3aed26}.is-msg-error{border-color:#f851494d!important;background:#f8514912!important}.is-msg-text{font-size:.9rem;color:var(--text-primary);line-height:1.65;white-space:pre-wrap;word-break:break-word;margin:0}.is-msg-img-wrap{display:block;position:relative;margin-top:.75rem;border-radius:14px;overflow:hidden;cursor:pointer;max-width:480px;width:100%;border:none;padding:0;transition:transform .2s,box-shadow .2s}.is-msg-img-wrap:hover{transform:scale(1.01);box-shadow:0 8px 32px #0006}.is-msg-img{width:100%;height:auto;display:block;border-radius:14px}.is-msg-img-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.4rem;background:#00000061;color:#fff;opacity:0;transition:opacity .25s;border-radius:14px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.is-msg-img-wrap:hover .is-msg-img-overlay{opacity:1}.is-msg-attachment{max-width:160px;border-radius:10px;margin-top:.5rem;display:block;border:1px solid var(--panel-border)}.is-msg-welcome{text-align:center;padding:2rem 1rem 1rem;max-width:720px;margin:0 auto;width:100%}.is-msg-welcome-card{display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;background:linear-gradient(135deg,#7c3aed1a,#a371f70f);border:1px solid rgba(163,113,247,.2);border-radius:20px;padding:1.5rem 2rem;max-width:440px;margin:0 auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.is-msg-welcome-icon{font-size:1.8rem;line-height:1}.is-msg-welcome-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.is-msg-welcome-desc{font-size:.83rem;color:var(--text-secondary);line-height:1.6}.is-generating-row{display:flex;align-items:flex-end;gap:.55rem;max-width:720px;width:100%;margin:0 auto;padding:.3rem 1rem}.is-generating-bubble{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:18px 18px 18px 4px;padding:.9rem 1.2rem;display:flex;align-items:center;gap:.8rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 12px #0000002e}.is-generating-text{font-size:.84rem;color:var(--text-secondary);font-style:italic}.is-dots{display:flex;align-items:center;gap:4px}.is-dot{width:7px;height:7px;border-radius:50%;background:#a371f7;animation:dotBounce 1.4s infinite ease-in-out}.is-dot:nth-child(1){animation-delay:0s}.is-dot:nth-child(2){animation-delay:.2s}.is-dot:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-6px);opacity:1}}.is-chat-divider{display:flex;align-items:center;gap:.75rem;max-width:720px;width:100%;margin:.5rem auto;padding:0 1rem}.is-chat-divider-line{flex:1;height:1px;background:var(--panel-border)}.is-chat-divider-text{font-size:.72rem;color:#8b949e66;white-space:nowrap}.is-chat-error{font-size:.82rem;color:#f85149;padding:.3rem 1rem;flex-shrink:0;max-width:720px;margin:0 auto;width:100%}.is-chat-input-area{flex-shrink:0;padding-top:.75rem;border-top:1px solid var(--panel-border)}.is-chat-input-area-inner{max-width:720px;margin:0 auto}.is-attached-files{display:flex;gap:.4rem;margin-bottom:.5rem;flex-wrap:wrap}.is-attached-item{position:relative;width:52px;height:52px;border-radius:8px;overflow:hidden}.is-attached-item img{width:100%;height:100%;object-fit:cover}.is-attached-item button{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#000000bf;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:9px}.is-chat-input-row{display:flex;align-items:flex-end;gap:.5rem;background:#161b22e6;border:1px solid var(--panel-border);border-radius:16px;padding:.6rem .75rem;transition:border-color .2s,box-shadow .2s;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 24px #0003}.is-chat-input-row:focus-within{border-color:#a371f780;box-shadow:0 4px 24px #0003,0 0 0 3px #a371f714}.is-attach-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.35rem;display:flex;align-items:center;transition:color .2s,background .2s;flex-shrink:0;border-radius:8px}.is-attach-btn:hover{color:var(--text-primary);background:#ffffff0f}.is-chat-input{flex:1;background:none;border:none;color:var(--text-primary);font-family:inherit;font-size:.92rem;line-height:1.55;resize:none;min-height:26px;max-height:130px;overflow-y:auto;padding:.1rem 0}.is-chat-input:focus{outline:none}.is-chat-input::placeholder{color:#8b949e6b}.is-send-btn{background:linear-gradient(135deg,#7c3aed,#a371f7);border:none;border-radius:11px;color:#fff;padding:.48rem .8rem;cursor:pointer;display:flex;align-items:center;transition:all .2s;flex-shrink:0;box-shadow:0 2px 8px #7c3aed4d}.is-send-btn:hover:not(.is-send-btn-disabled){transform:scale(1.07);box-shadow:0 4px 16px #a371f780}.is-send-btn-disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.is-usage-badge{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;margin-left:auto}.is-usage-badge-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.is-usage-badge-cost{font-size:.8rem;font-weight:700}.is-usage-badge-sub{font-size:.7rem;opacity:.6;font-weight:400}.is-usage-badge-bar{width:80px;height:3px;background:#ffffff14;border-radius:99px;overflow:hidden}.is-usage-badge-fill{height:100%;border-radius:99px;transition:width .5s ease}.is-studio-wrapper{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.is-studio-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.is-btn-add{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#7c3aed,#a371f7);border:none;border-radius:10px;color:#fff;font-size:.85rem;font-weight:600;font-family:inherit;padding:.5rem 1rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .18s}.is-btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 16px #a371f766}.is-cat-nav{display:flex;gap:.35rem;border-bottom:2px solid var(--panel-border);padding-bottom:0}.is-cat-nav-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-secondary);font-size:.95rem;font-weight:600;font-family:inherit;padding:.6rem 1.1rem;cursor:pointer;transition:all .18s;white-space:nowrap}.is-cat-nav-tab:hover{color:var(--text-primary)}.is-cat-nav-tab.active{color:var(--text-primary);border-bottom-color:#a371f7}.is-sub-tabs{display:flex;gap:.2rem;padding:.75rem 0 .85rem}.is-sub-tab{background:none;border:1px solid transparent;border-radius:8px;color:var(--text-secondary);font-size:.82rem;font-weight:500;font-family:inherit;padding:.35rem .85rem;cursor:pointer;transition:all .15s}.is-sub-tab:hover{background:#ffffff0d;color:var(--text-primary)}.is-sub-tab.active{background:#a371f71f;border-color:#a371f74d;color:#a371f7;font-weight:600}.is-tab-content{flex:1}.is-chat-list{display:flex;flex-direction:column;gap:.5rem}.is-chat-list-card{display:flex;align-items:center;gap:1rem;width:100%;text-align:left;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:.85rem 1rem;cursor:pointer;transition:all .18s;font-family:inherit}.is-chat-list-card:hover{border-color:#a371f766;background:#a371f70f;transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.is-chat-list-thumb{width:64px;height:64px;border-radius:8px;background:#ffffff0d;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.is-chat-list-thumb img{width:100%;height:100%;object-fit:cover}.is-chat-list-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.is-chat-list-name{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.is-chat-list-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.is-gallery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.is-gallery-count{font-size:.82rem;color:var(--text-secondary)}.is-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.is-gallery-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;font-family:inherit;padding:0;transition:all .18s}.is-gallery-card:hover{border-color:#a371f766;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.is-gallery-card-img{aspect-ratio:1;overflow:hidden;background:#ffffff0a}.is-gallery-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.is-gallery-card:hover .is-gallery-card-img img{transform:scale(1.04)}.is-gallery-card-meta{padding:.6rem .75rem}.is-gallery-card-name{font-size:.82rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.is-gallery-card-sub{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-secondary);margin-top:.2rem;opacity:.7}.is-content-modal-backdrop{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem}.is-content-modal{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:18px;width:100%;max-width:540px;overflow:hidden;position:relative;box-shadow:0 24px 60px #00000080}.is-content-modal-close{position:absolute;top:.75rem;right:.75rem;background:#ffffff14;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;padding:.35rem;display:flex;align-items:center;z-index:2;transition:all .15s}.is-content-modal-close:hover{background:#ffffff24;color:var(--text-primary)}.is-content-modal-img{position:relative;aspect-ratio:1;background:#0000004d}.is-content-modal-img img{width:100%;height:100%;object-fit:contain;display:block}.is-content-modal-zoom{position:absolute;bottom:.75rem;right:.75rem;background:#0009;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:.8rem;font-family:inherit;padding:.3rem .65rem;display:flex;align-items:center;gap:.3rem;cursor:pointer;transition:background .15s}.is-content-modal-zoom:hover{background:#000000d9}.is-content-modal-info{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.is-content-modal-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.is-content-modal-sub{display:flex;gap:1rem;font-size:.8rem;color:var(--text-secondary)}.is-content-modal-actions{display:flex;gap:.75rem;margin-top:.5rem}.is-content-modal-actions .is-btn-ghost{flex:1;justify-content:center}.is-btn-primary{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#7c3aed,#a371f7);border:none;border-radius:10px;color:#fff;font-size:.88rem;font-weight:600;font-family:inherit;padding:.55rem 1.1rem;cursor:pointer;transition:all .18s;flex:1;justify-content:center}.is-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #a371f766}.is-btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.is-imgdetail-layout{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}.is-imgdetail-main{display:flex;flex-direction:column;gap:.75rem}.is-imgdetail-img-wrap{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;background:#ffffff08;border:1px solid var(--panel-border);display:block;width:100%;padding:0}.is-imgdetail-img{width:100%;height:auto;display:block;transition:transform .3s}.is-imgdetail-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.4rem;background:#00000073;color:#fff;font-size:.9rem;font-weight:600;opacity:0;transition:opacity .2s}.is-imgdetail-img-wrap:hover .is-imgdetail-overlay{opacity:1}.is-dl-btn{align-self:flex-start;text-decoration:none}.is-imgdetail-side{display:flex;flex-direction:column;gap:1rem;position:sticky;top:calc(56px + 2rem)}.is-side-section{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.is-side-chat{max-height:400px;overflow:hidden;display:flex;flex-direction:column}.is-side-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b949e80;margin-bottom:.6rem}.is-side-info{display:flex;flex-direction:column;gap:.4rem;font-size:.83rem;color:var(--text-secondary)}.is-session-imgs{display:flex;flex-wrap:wrap;gap:.4rem}.is-session-thumb{width:56px;height:56px;border-radius:8px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:none;transition:border-color .2s}.is-session-thumb img{width:100%;height:100%;object-fit:cover;display:block}.is-session-thumb-active{border-color:#a371f7}.is-history-chat{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.6rem}.is-hchat-msg{display:flex;gap:.5rem;font-size:.82rem}.is-hchat-user{align-self:flex-end;flex-direction:row-reverse}.is-hchat-ai{align-self:flex-start}.is-hchat-role{font-size:1rem;flex-shrink:0}.is-hchat-text{color:var(--text-secondary);line-height:1.5;word-break:break-word}.is-lightbox{position:fixed;inset:0;background:#000000e0;z-index:9999;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:1rem;padding:2rem}.is-lightbox-close{position:fixed;top:1.25rem;right:1.25rem;background:#ffffff1f;border:none;border-radius:50%;width:40px;height:40px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.is-lightbox-close:hover{background:#fff3}.is-lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px #0009}.is-lightbox-dl{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;text-decoration:none;font-size:.85rem;transition:background .2s}.is-lightbox-dl:hover{background:#ffffff2e}.is-spin{animation:spin 1s linear infinite}.is-spin-large{color:#a371f7}@media(max-width:900px){.is-imgdetail-layout{grid-template-columns:1fr}.is-imgdetail-side{position:static}}@media(max-width:600px){.is-card-grid{grid-template-columns:1fr}.is-history-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.is-chat-layout{height:calc(100vh - 56px - 1rem)}.is-form{padding:1.25rem}}.is-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border-radius:12px;font-size:.9rem;font-weight:500;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px #0006;z-index:9999;animation:toastIn .3s ease;white-space:nowrap;max-width:90vw}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.is-toast-success{background:#2ea0432e;border:1px solid rgba(46,160,67,.4);color:#7ee787}.is-toast-warning{background:#d299222e;border:1px solid rgba(210,153,34,.4);color:#ffa657}.is-toast-close{background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:0;line-height:1;transition:opacity .15s;margin-left:.25rem}.is-toast-close:hover{opacity:1}.is-modal-overlay{position:fixed;inset:0;background:#0009;z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.is-modal{background:#161b22fa;border:1px solid var(--panel-border);border-radius:20px;padding:2rem;width:min(420px,90vw);text-align:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 24px 64px #00000080;animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.is-modal-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#f851491f;color:var(--danger);margin:0 auto 1rem}.is-modal-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.is-modal-desc{font-size:.88rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.is-modal-actions{display:flex;gap:.75rem;justify-content:center}.is-btn-danger{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.25rem;border-radius:10px;border:1px solid rgba(248,81,73,.4);background:#f851491f;color:var(--danger);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.is-btn-danger:hover:not(:disabled){background:#f8514938;border-color:var(--danger)}.is-btn-danger:disabled{opacity:.5;cursor:not-allowed}.is-btn-ghost-danger{color:var(--danger)!important;opacity:.8}.is-btn-ghost-danger:hover{opacity:1;background:#f8514914!important}.is-admin-panel{display:flex;flex-direction:column;gap:1.5rem;flex:1;min-height:0;overflow-y:auto;padding-bottom:2rem}.is-admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.is-admin-header-left{display:flex;align-items:center;gap:.85rem}.is-admin-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.is-admin-subtitle{font-size:.82rem;color:var(--text-secondary);margin:.2rem 0 0}.is-month-input{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.84rem;padding:.38rem .75rem;cursor:pointer;transition:border-color .2s}.is-month-input:focus{outline:none;border-color:#a371f780}.is-admin-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.is-admin-kpi-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.4rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.is-admin-kpi-info{background:linear-gradient(135deg,#58a6ff0d,#a371f70a);border-color:#58a6ff26}.is-admin-kpi-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.is-admin-kpi-value{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1}.is-admin-kpi-sub{font-size:.72rem;color:var(--text-secondary);opacity:.7}.is-admin-kpi-progress{display:flex;align-items:center;gap:.6rem;margin-top:.25rem}.is-admin-kpi-progress-bar{flex:1;height:8px;background:#ffffff0f;border-radius:99px;overflow:hidden}.is-admin-kpi-progress-fill{height:100%;border-radius:99px;transition:width .6s ease}.is-admin-kpi-pct{font-size:.8rem;font-weight:700;color:var(--text-primary);min-width:38px;text-align:right}.is-admin-warning{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1.1rem;background:#f8514914;border:1px solid rgba(248,81,73,.25);border-radius:12px;color:#f85149;font-size:.85rem;line-height:1.6}.is-admin-warning svg{flex-shrink:0;margin-top:2px}.is-admin-section{display:flex;flex-direction:column;gap:.85rem}.is-admin-section-title{font-size:.85rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.is-admin-empty{text-align:center;padding:3rem;color:var(--text-secondary);font-size:.9rem;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px}.is-admin-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--panel-border)}.is-admin-table{width:100%;border-collapse:collapse;min-width:700px}.is-admin-table thead th{padding:.6rem 1rem;font-size:.65rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;background:#ffffff06;border-bottom:1px solid var(--panel-border);white-space:nowrap}.is-admin-tr td{padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle;transition:background .15s}.is-admin-tr:last-child td{border-bottom:none}.is-admin-tr:hover td{background:#ffffff06}.is-admin-tr-danger td{background:#f851490a}.is-admin-tr-danger:hover td{background:#f8514914}.is-admin-email{font-size:.9rem;font-weight:600;color:var(--text-primary)}.is-admin-email-full{font-size:.7rem;color:var(--text-secondary);opacity:.6;margin-top:1px}.is-admin-memo{display:inline-block;margin-top:3px;font-size:.68rem;padding:.1rem .45rem;border-radius:.75rem;background:#a371f71a;color:#a371f7;border:1px solid rgba(163,113,247,.2)}.is-admin-usepct-wrap{display:flex;flex-direction:column;align-items:center;gap:.25rem}.is-admin-mini-bar{width:80px;height:5px;background:#ffffff0f;border-radius:99px;overflow:hidden}.is-admin-edit-row td{padding:0!important;border-bottom:1px solid var(--panel-border)}.is-admin-edit-panel{display:flex;align-items:flex-end;gap:1rem;padding:.85rem 1rem;background:#a371f70a;border-top:1px solid rgba(163,113,247,.12);flex-wrap:wrap}.is-admin-edit-fields{display:flex;gap:.75rem;flex-wrap:wrap;flex:1}.is-admin-edit-label{display:flex;flex-direction:column;gap:.35rem;font-size:.72rem;color:var(--text-secondary);font-weight:500}.is-admin-edit-input-wrap{display:flex;align-items:center;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;overflow:hidden;transition:border-color .2s}.is-admin-edit-input-wrap:focus-within{border-color:#a371f780}.is-admin-edit-prefix{padding:.4rem .5rem;font-size:.82rem;color:var(--text-secondary);background:#ffffff0a;border-right:1px solid var(--panel-border)}.is-admin-edit-input{border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:.85rem;padding:.38rem .6rem;width:120px;min-width:80px}.is-admin-edit-input:focus{outline:none}.is-admin-pricing{background:#58a6ff0a;border:1px solid rgba(88,166,255,.12);border-radius:12px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.is-admin-pricing-title{font-size:.82rem;font-weight:600;color:var(--text-primary)}.is-admin-pricing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.is-admin-pricing-item{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--text-secondary);padding:.3rem .5rem;background:#ffffff08;border-radius:6px}.is-admin-pricing-item strong{color:var(--text-primary)}.is-admin-pricing-note{font-size:.75rem;color:var(--text-secondary);line-height:1.6;margin:0;opacity:.8}.is-my-usage-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.is-my-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:.4rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s}.is-my-card-icon{font-size:1.5rem;line-height:1;margin-bottom:.25rem}.is-my-card-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.is-my-card-value{font-size:1.6rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;line-height:1}.is-my-card-sub{font-size:.74rem;color:var(--text-secondary);opacity:.7;margin-top:.1rem}.is-my-gauge-wrap{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.is-my-gauge-header{display:flex;justify-content:space-between;align-items:center}.is-my-gauge-label{font-size:.82rem;font-weight:600;color:var(--text-primary)}.is-my-gauge-pct{font-size:1rem;font-weight:800}.is-my-gauge-bar{position:relative;height:12px;background:#ffffff0f;border-radius:99px;overflow:visible}.is-my-gauge-fill{height:100%;border-radius:99px;transition:width .6s ease}.is-my-gauge-marker{position:absolute;top:-3px;width:2px;height:18px;background:#d29922b3;border-radius:1px;pointer-events:none}.is-my-gauge-legend{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-secondary);opacity:.6;margin-top:.15rem}.is-my-token-detail{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:1.1rem 1.25rem}.is-my-token-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.is-my-token-item{display:flex;flex-direction:column;gap:.25rem;padding:.65rem .75rem;background:#ffffff08;border-radius:10px;font-size:.78rem;color:var(--text-secondary)}.is-my-token-item strong{font-size:1rem;font-weight:700;color:var(--text-primary)}@media(max-width:640px){.is-my-usage-cards{grid-template-columns:1fr}.is-my-token-grid{grid-template-columns:repeat(2,1fr)}}.is-admin-panel{height:100%}.is-gen-layout{display:grid;grid-template-columns:430px minmax(280px,480px);gap:1.5rem;align-items:start}@media(max-width:960px){.is-gen-layout{grid-template-columns:1fr}}.is-gen-form-col{display:flex;flex-direction:column;gap:1rem;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:1.35rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;transition:opacity .3s}.is-gen-form-loading{pointer-events:none}.is-gen-form-loading:after{content:"";position:absolute;inset:0;background:#0d11178c;border-radius:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10}.is-gen-result-col{position:sticky;top:1rem}.is-gen-field{display:flex;flex-direction:column;gap:.45rem}.is-gen-label{font-size:.9rem;font-weight:700;color:var(--text-primary);margin:0}.is-gen-label-row{display:flex;align-items:center;justify-content:space-between}.is-gen-counter{font-size:.72rem;color:var(--text-secondary);background:#ffffff0f;padding:.1rem .45rem;border-radius:20px}.is-gen-opt{font-size:.75rem;font-weight:400;color:var(--text-secondary);margin-left:.25rem}.is-gen-desc{font-size:.78rem;color:var(--text-secondary);margin:0;line-height:1.5}.is-gen-warn{font-size:.78rem;color:var(--warning);margin:0;padding:.35rem .65rem;background:#d2992214;border-radius:6px;border-left:2px solid var(--warning)}.is-gen-reuse-hint{font-size:.74rem;color:var(--text-secondary);text-align:center;margin:-.35rem 0 0;opacity:.65}.is-req{color:#f85149;font-weight:400}.is-dropzone{border:1.5px dashed rgba(255,255,255,.12);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s;background:#ffffff05;-webkit-user-select:none;user-select:none}.is-dropzone:hover{border-color:#a371f766;background:#a371f709}.is-dz-over{border-color:#a371f7!important;background:#a371f714!important}.is-dz-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:1.5rem 1rem;text-align:center}.is-dz-icon{color:#a371f78c;margin-bottom:.05rem}.is-dz-main{font-size:.85rem;color:var(--text-secondary);font-weight:500;margin:0}.is-dz-sub{font-size:.72rem;color:var(--text-secondary);opacity:.5;margin:0}.is-dropzone-banner .is-dz-empty{padding:1rem}.is-dz-thumbs{display:flex;flex-wrap:wrap;gap:.45rem;padding:.7rem}.is-thumb{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);flex-shrink:0}.is-thumb img{width:100%;height:100%;object-fit:cover;display:block}.is-thumb-del{position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:#000000bf;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.is-thumb-del:hover{background:#f85149e6}.is-thumb-add{width:72px;height:72px;border-radius:8px;border:1.5px dashed rgba(255,255,255,.14);background:#ffffff06;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;font-size:.67rem;flex-shrink:0;transition:all .15s}.is-thumb-add:hover{border-color:#a371f766;color:#a371f7;background:#a371f70d}.is-banner-preview{position:relative;display:inline-block;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);max-width:100%}.is-banner-preview img{display:block;max-width:100%;max-height:160px;object-fit:contain}.is-banner-preview-del{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;background:#000000bf;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .15s}.is-banner-preview-del:hover{background:#f85149e6}.is-change-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.15rem}.is-change-hint{font-size:.72rem;color:var(--text-secondary);background:#ffffff0d;padding:.1rem .5rem;border-radius:10px}.is-change-block{border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden;background:#ffffff04}.is-change-section{padding:.7rem}.is-change-section-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.is-change-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:#a371f72e;color:#a371f7;font-size:.7rem;font-weight:700;flex-shrink:0;border:1px solid rgba(163,113,247,.25)}.is-change-section-title{font-size:.82rem;font-weight:700;color:var(--text-primary)}.is-change-section-desc{font-size:.72rem;color:var(--text-secondary);opacity:.6}.is-change-divider{height:1px;background:#ffffff0d}.is-change-rows{display:flex;flex-direction:column;gap:.4rem}.is-tc-row{display:flex;align-items:center;gap:.4rem}.is-tc-arrow{color:var(--text-secondary);font-size:.82rem;flex-shrink:0}.is-ic-row{display:flex;align-items:center;gap:.4rem}.is-ic-thumb{width:36px;height:36px;border-radius:5px;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,.08)}.is-add-row-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .6rem;font-size:.74rem;font-weight:500;color:var(--text-secondary);background:#ffffff0a;border:1px dashed rgba(255,255,255,.1);border-radius:6px;cursor:pointer;margin-top:.2rem;width:fit-content;transition:all .15s}.is-add-row-btn:hover{color:#a371f7;border-color:#a371f759;background:#a371f70d}.is-del-btn{width:22px;height:22px;border-radius:5px;flex-shrink:0;background:#f8514914;border:none;color:#f85149;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.is-del-btn:hover{background:#f8514933}.is-select{width:100%;padding:.5rem .8rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.88rem;cursor:pointer;transition:border-color .2s}.is-select:focus{outline:none;border-color:#a371f780}.is-textarea{width:100%;padding:.55rem .75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.85rem;resize:vertical;min-height:52px;transition:border-color .2s;box-sizing:border-box}.is-textarea:focus{outline:none;border-color:#a371f780}.is-input{width:100%;padding:.42rem .65rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:var(--text-primary);font-family:inherit;font-size:.84rem;transition:border-color .2s;box-sizing:border-box}.is-input:focus{outline:none;border-color:#a371f780}.is-input-sm{font-size:.8rem;padding:.36rem .55rem}.is-gen-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.4rem;width:100%;font-size:.92rem;font-weight:700;border-radius:10px;background:linear-gradient(135deg,#a371f7,#7c5cbf);color:#fff;border:none;cursor:pointer;transition:opacity .2s,transform .15s;box-shadow:0 4px 16px #a371f740}.is-gen-btn:hover:not(.is-gen-btn--disabled){opacity:.9;transform:translateY(-1px)}.is-gen-btn--disabled{opacity:.35;cursor:not-allowed}.is-result-panel--generating{background:#161b22cc;border-color:#a371f740}.is-gen-progress-full{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1rem;text-align:center}.is-gen-progress-rings{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.is-gpr-ring{position:absolute;border-radius:50%;border:2px solid transparent}.is-gpr-ring1{width:80px;height:80px;border-top-color:#a371f7;border-right-color:#a371f733;animation:ringRotate 1.4s linear infinite}.is-gpr-ring2{width:60px;height:60px;border-top-color:#58a6ff;border-left-color:#58a6ff33;animation:ringRotate 1s linear infinite reverse}.is-gpr-ring3{width:40px;height:40px;border-bottom-color:#a371f780;animation:ringRotate .7s linear infinite}.is-gpr-center{color:#a371f7;animation:gprPulse 2s ease-in-out infinite;z-index:1}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gprPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.is-gpr-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.is-gpr-sub{font-size:.78rem;color:var(--text-secondary);margin:0;opacity:.7}.is-gpr-bar{width:200px;height:3px;background:#ffffff0f;border-radius:99px;overflow:hidden}.is-gpr-bar-fill{width:100%;height:100%;background:linear-gradient(90deg,#a371f7,#58a6ff,#a371f7);background-size:200% 100%;animation:shimmer2 1.6s ease-in-out infinite}@keyframes shimmer2{0%{background-position:200% 0}to{background-position:-200% 0}}.is-gpr-steps{display:flex;align-items:center;gap:.4rem;font-size:.72rem}.is-gpr-step{color:var(--text-secondary);opacity:.5;display:flex;align-items:center;gap:.2rem}.is-gpr-step--done{color:#3fb950;opacity:1}.is-gpr-step--active{color:#a371f7;opacity:1;font-weight:600}.is-gpr-sep{color:var(--text-secondary);opacity:.3}.is-gen-error-panel{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem;background:#f851490f;border:1px solid rgba(248,81,73,.18);border-radius:10px}.is-gen-error-text{color:#f85149;font-size:.83rem;margin:0;text-align:center}.is-result-panel{display:flex;flex-direction:column;gap:.75rem;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:1.15rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:240px;transition:border-color .3s}.is-result-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:3.5rem 1rem;text-align:center;gap:.4rem;color:var(--text-secondary);opacity:.38}.is-result-empty-main{font-size:.85rem;font-weight:500;margin:0}.is-result-empty-sub{font-size:.73rem;margin:0}.is-result-header{display:flex;align-items:center;justify-content:space-between}.is-result-header-right{display:flex;gap:.35rem;align-items:center}.is-result-title{font-size:.9rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.4rem}.is-result-count{font-size:.72rem;font-weight:400;color:var(--text-secondary);background:#ffffff0f;padding:.08rem .42rem;border-radius:10px}.is-pin-job-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .65rem;font-size:.74rem;font-weight:600;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;transition:all .15s}.is-pin-job-btn:hover{border-color:#a371f766;color:#a371f7;background:#a371f70f}.is-pin-job-btn--active{background:#a371f71f;color:#a371f7;border-color:#a371f759}.is-pin-job-btn:disabled{opacity:.5;cursor:not-allowed}.is-result-list{display:flex;flex-direction:column;gap:1rem}.is-result-item{display:flex;flex-direction:column;gap:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff05;align-self:flex-start;width:100%}.is-result-img-btn{position:relative;display:block;width:100%;border:none;padding:0;background:none;cursor:pointer}.is-result-img{width:100%;height:auto;display:block;max-height:300px;object-fit:contain;border-radius:0}.is-result-img-overlay{position:absolute;inset:0;background:#0000006b;display:flex;align-items:center;justify-content:center;gap:.35rem;color:#fff;font-size:.78rem;font-weight:600;opacity:0;transition:opacity .18s}.is-result-img-btn:hover .is-result-img-overlay{opacity:1}.is-result-item-actions{display:flex;border-top:1px solid rgba(255,255,255,.07)}.is-ria-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.55rem .25rem;font-size:.78rem;font-weight:500;font-family:inherit;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .15s;text-decoration:none}.is-ria-btn+.is-ria-btn{border-left:1px solid rgba(255,255,255,.06)}.is-ria-revise:hover{color:#58a6ff;background:#58a6ff12}.is-ria-download:hover{color:#7ee787;background:#7ee78712}.is-ria-pin:hover{color:#a371f7;background:#a371f712}.is-ria-pin--active{color:#a371f7}.is-ria-pin:disabled{opacity:.45;cursor:not-allowed}.is-job-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.7rem;padding:.5rem 0}.is-job-card{border-radius:12px;overflow:hidden;border:1px solid var(--panel-border);background:var(--panel-bg);transition:border-color .2s,transform .18s}.is-job-card:hover{border-color:#a371f740;transform:translateY(-2px)}.is-job-card-thumb{aspect-ratio:4/3;overflow:hidden;background:#ffffff05;position:relative}.is-job-card-img-btn{position:relative;width:100%;height:100%;border:none;padding:0;background:none;cursor:pointer;display:block}.is-job-card-img-btn img{width:100%;height:100%;object-fit:cover;display:block}.is-job-card-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s}.is-job-card-img-btn:hover .is-job-card-overlay{opacity:1}.is-job-card-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.is-job-card-pin-badge{position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:50%;background:#a371f7d9;display:flex;align-items:center;justify-content:center;color:#fff;z-index:1}.is-job-card-info{padding:.55rem .7rem;display:flex;flex-direction:column;gap:.25rem}.is-job-card-row{display:flex;justify-content:space-between;align-items:center}.is-cat-badge-sm{font-size:.65rem;font-weight:600;padding:.08rem .4rem;background:#a371f71a;color:#a371f7;border-radius:.5rem;border:1px solid rgba(163,113,247,.2)}.is-job-card-name{font-size:.8rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.is-job-card-meta{display:flex;gap:.5rem;font-size:.68rem;color:var(--text-secondary);opacity:.65}.is-job-card-meta span{display:flex;align-items:center;gap:.2rem}.is-job-card-actions{display:flex;gap:.3rem;margin-top:.1rem}.is-btn-sm{font-size:.76rem!important;padding:.28rem .6rem!important}.is-btn-xs{font-size:.71rem!important;padding:.22rem .45rem!important}.is-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:.2rem 0 .5rem}.is-gallery-count{font-size:.78rem;color:var(--text-secondary)}.is-page-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.is-section-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.is-tab-filter{display:flex;gap:.3rem;background:#ffffff0a;border-radius:8px;padding:.2rem}.is-tab-filter-btn{padding:.3rem .8rem;border-radius:6px;border:none;cursor:pointer;font-size:.78rem;font-weight:500;font-family:inherit;background:transparent;color:var(--text-secondary);transition:all .15s}.is-tab-filter-btn.active{background:#a371f726;color:#a371f7}@media(max-width:600px){.is-job-history-grid{grid-template-columns:1fr}.is-gen-btn{width:100%}}.is-rev-layout{display:flex;flex-direction:column;gap:.75rem}.is-rev-header{display:flex;align-items:center;gap:.75rem}.is-rev-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.is-rev-body{display:grid;grid-template-columns:430px minmax(280px,480px);gap:1.5rem;align-items:start}.is-rev-base-img-wrap{border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);display:inline-block;max-width:100%}.is-rev-base-img{display:block;max-width:100%;max-height:160px;object-fit:contain}.is-model-img-wrap{position:relative;display:inline-block;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);max-width:100%}.is-model-img{display:block;max-width:100%;max-height:140px;object-fit:contain}.is-model-img-label{position:absolute;bottom:0;left:0;right:0;background:#0000008c;color:#fffc;font-size:.68rem;text-align:center;padding:.2rem 0}.is-input-warn{border-color:var(--warning)!important;background:#d299220d!important}.is-input-warn:focus{border-color:var(--warning)!important}.is-pin-view{display:flex;flex-direction:column;gap:.9rem}.is-pin-view-header{display:flex;align-items:center;gap:.6rem}.is-pin-view-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.is-pin-view-count{font-size:.76rem;color:var(--text-secondary);background:#a371f71f;color:#a371f7;padding:.1rem .5rem;border-radius:12px}.is-pin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:.7rem}@media(max-width:600px){.is-pin-grid{grid-template-columns:repeat(2,1fr)}}.is-pin-card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.07);background:var(--panel-bg);cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s;text-align:left;padding:0}.is-pin-card:hover{border-color:#a371f759;transform:translateY(-3px);box-shadow:0 8px 28px #00000040}.is-pin-card-img-wrap{position:relative;aspect-ratio:3 / 4;overflow:hidden;background:#ffffff08}.is-pin-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.is-pin-card:hover .is-pin-card-img{transform:scale(1.04)}.is-pin-card-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:.25}.is-pin-type-badge{position:absolute;top:6px;left:6px;font-size:.62rem;font-weight:700;padding:.08rem .4rem;border-radius:8px;background:#161b22bf;color:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.is-pin-multi-badge{position:absolute;bottom:6px;right:6px;font-size:.65rem;font-weight:600;padding:.1rem .38rem;border-radius:8px;background:#a371f7b3;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.is-pin-card-overlay{position:absolute;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;gap:.35rem;color:#fff;font-size:.76rem;font-weight:600;opacity:0;transition:opacity .18s}.is-pin-card:hover .is-pin-card-overlay{opacity:1}.is-pin-card-meta{padding:.5rem .65rem;display:flex;flex-direction:column;gap:.15rem}.is-pin-card-name{font-size:.76rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.is-pin-card-date{font-size:.67rem;color:var(--text-secondary);opacity:.6;display:flex;align-items:center;gap:.2rem}.is-drawer-overlay{position:fixed;inset:0;z-index:200;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.is-drawer{width:min(480px,100vw);height:100%;overflow-y:auto;background:var(--bg-secondary, #161b22);border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;animation:slideInRight .22s cubic-bezier(.22,1,.36,1)}@keyframes slideInRight{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.is-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.1rem 1.25rem .85rem;border-bottom:1px solid rgba(255,255,255,.07);gap:.75rem;position:sticky;top:0;background:var(--bg-secondary, #161b22);z-index:1}.is-drawer-title-row{display:flex;flex-direction:column;gap:.35rem}.is-drawer-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.is-drawer-close{width:30px;height:30px;border-radius:8px;flex-shrink:0;background:#ffffff0f;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.is-drawer-close:hover{background:#f8514926;color:#f85149}.is-drawer-body{flex:1;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1.1rem}.is-drawer-section{display:flex;flex-direction:column;gap:.5rem}.is-drawer-section-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:.3rem;opacity:.75}.is-drawer-img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}.is-drawer-img-wrap{position:relative;border-radius:8px;overflow:hidden}.is-drawer-img-btn{position:relative;display:block;width:100%;border:none;padding:0;background:none;cursor:pointer}.is-drawer-img{width:100%;height:auto;display:block;max-height:200px;object-fit:contain;border-radius:8px}.is-drawer-img-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .18s;border-radius:8px}.is-drawer-img-btn:hover .is-drawer-img-overlay{opacity:1}.is-drawer-dl-btn{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:5px;background:#000000a6;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.7rem;transition:background .15s}.is-drawer-dl-btn:hover{background:#7ee787bf}.is-drawer-meta-list{display:flex;flex-direction:column;gap:.35rem}.is-drawer-meta-row{display:flex;align-items:center;gap:.45rem;font-size:.81rem;color:var(--text-secondary)}.is-drawer-meta-icon{color:var(--text-secondary);opacity:.6;flex-shrink:0}.is-drawer-text{font-size:.83rem;color:var(--text-secondary);line-height:1.6;margin:0;padding:.55rem .75rem;background:#ffffff08;border-radius:7px;border:1px solid rgba(255,255,255,.05)}.is-drawer-tc-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.is-drawer-tc-from{color:var(--text-secondary);text-decoration:line-through;opacity:.6}.is-drawer-tc-arrow{color:var(--text-secondary);opacity:.4;font-size:.75rem;flex-shrink:0}.is-drawer-tc-to{color:var(--text-primary);font-weight:500}.is-drawer-input-imgs{display:flex;flex-wrap:wrap;gap:.35rem}.is-drawer-input-tag{font-size:.72rem;padding:.15rem .5rem;border-radius:6px;background:#ffffff0d;color:var(--text-secondary);border:1px solid rgba(255,255,255,.07)}.is-drawer-unpin-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;width:100%;justify-content:center;font-size:.82rem;font-weight:500;background:#f8514912;border:1px solid rgba(248,81,73,.2);color:#f85149;border-radius:10px;cursor:pointer;font-family:inherit;transition:background .15s;margin-top:.5rem}.is-drawer-unpin-btn:hover{background:#f8514924}
