:root{--sans:"SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-primary:#e2e8f0;--text-muted:#94a3b8;--text-dim:#64748b;--bg-body:#0a0a0f;--glass-bg:#ffffff0a;--glass-bg-hover:#ffffff0f;--glass-border:#ffffff14;--glass-border-hover:#ffffff1f;--glass-blur:blur(40px) saturate(1.8);--glass-radius:20px;--glass-radius-sm:12px;--glass-shadow:0 8px 32px #0000004d, inset 0 1px 0 #ffffff0f, inset 0 -1px 0 #ffffff05;--accent-purple:#8b5cf6;--accent-blue:#3b82f6;--accent-green:#22c55e;--accent-red:#ef4444;--accent-orange:#f97316;--accent-yellow:#eab308;--input-bg:#ffffff0d;--input-border:#ffffff1a;--input-focus-border:#8b5cf680}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg-body);min-height:100svh;color:var(--text-primary);line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(at 20%,#581c8726 0%,#0000 60%),radial-gradient(at 80% 20%,#3b82f61a 0%,#0000 50%),radial-gradient(at 50% 80%,#10b98114 0%,#0000 50%);position:fixed;inset:0}#root{min-height:100svh}input,textarea,select,button{font-family:inherit}a{color:inherit;text-decoration:none}.navbar-wrapper{top:calc(16px + env(safe-area-inset-top));z-index:1000;width:auto;max-width:calc(100% - 32px);position:fixed;left:50%;transform:translate(-50%)}.navbar{border-radius:var(--glass-radius);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);align-items:center;gap:8px;padding:10px 20px;transition:all .3s;display:flex}.navbar:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.navbar-brand{color:#f1f5f9;letter-spacing:-.3px;white-space:nowrap;align-items:center;gap:10px;margin-right:8px;font-size:15px;font-weight:600;display:flex;overflow:visible}.navbar-logo{filter:invert();mix-blend-mode:screen;clip-path:inset(0 0 28%);width:auto;height:78px;margin:-30px 0 -40px;transition:opacity .2s}.navbar-brand:hover .navbar-logo{opacity:.8}.navbar-links{align-items:center;gap:4px;display:flex}.navbar-link{color:var(--text-muted);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.navbar-link svg{opacity:.7;width:15px;height:15px}.navbar-link:hover{color:var(--text-primary);background:#ffffff0f}.navbar-link.active{color:#c4b5fd;background:#8b5cf626}.navbar-link.active svg{opacity:1}.navbar-logout{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:6px;margin-left:8px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .25s;display:flex}.navbar-logout:hover{color:#fca5a5;background:#ef44441f;border-color:#ef444440}.navbar-logout:active{transform:scale(.97)}.navbar-logout svg{opacity:.7;width:15px;height:15px}@media (width<=640px){.navbar{gap:2px;padding:6px 10px}.navbar-brand{margin-right:2px;font-size:0}.navbar-logo{height:44px;margin:-16px 0 -22px}.navbar-link{gap:4px;padding:6px 10px;font-size:12px}.navbar-link svg{width:16px;height:16px}.navbar-logout{gap:0;margin-left:2px;padding:6px 8px;font-size:0}.navbar-logout svg{width:16px;height:16px}}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);padding:24px;transition:background .3s,border-color .3s}.glass-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.login-wrapper{flex-direction:column;justify-content:flex-start;align-items:center;min-height:100svh;padding:24px;display:flex}.login-card{text-align:center;width:100%;max-width:420px;padding:48px 40px}.login-brand{margin-bottom:40px}.login-logo{filter:invert();mix-blend-mode:screen;width:320px;height:auto;margin-bottom:24px;display:block}.login-brand-tagline{color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{position:relative}.login-field label{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.login-field input{border-radius:var(--glass-radius-sm);border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);outline:none;padding:12px 16px;font-size:15px;transition:all .2s}.login-field input:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #8b5cf626}.login-field input::placeholder{color:var(--text-dim)}.login-btn{border-radius:var(--glass-radius-sm);color:#c4b5fd;cursor:pointer;letter-spacing:.3px;background:linear-gradient(135deg,#8b5cf640,#3b82f640);border:1px solid #8b5cf666;margin-top:8px;padding:14px 24px;font-size:15px;font-weight:600;transition:all .25s}.login-btn:hover{background:linear-gradient(135deg,#8b5cf659,#3b82f659);border-color:#8b5cf699;transform:translateY(-1px);box-shadow:0 8px 24px #8b5cf633}.login-btn:active{transform:translateY(0)}.login-error{border-radius:var(--glass-radius-sm);color:#fca5a5;background:#ef44441a;border:1px solid #ef444440;padding:10px 16px;font-size:13px;animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-version{color:var(--text-dim);letter-spacing:.5px;opacity:.5;margin-top:16px;font-size:11px}@media (width<=480px){.login-card{padding:36px 24px}.login-brand-name{font-size:24px}}.modules-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.module-card-link{display:block}.module-card{cursor:pointer;align-items:center;gap:16px;padding:20px 24px;transition:all .25s;display:flex;position:relative}.module-card-link .module-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0006,inset 0 1px #ffffff14,inset 0 -1px #ffffff08}.module-icon{background:linear-gradient(135deg,#8b5cf64d,#3b82f64d);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.module-icon svg{color:#c4b5fd;width:24px;height:24px}.module-icon.coming-soon{background:#ffffff0a}.module-icon.coming-soon svg{color:var(--text-dim)}.module-info{flex:1;min-width:0}.module-name{color:var(--text-primary);letter-spacing:-.3px;margin-bottom:4px;font-size:16px;font-weight:600}.module-name.coming-soon-text{color:var(--text-dim)}.module-desc{color:var(--text-dim);font-size:13px;line-height:1.4}.module-stats{flex-shrink:0;gap:16px;display:flex}.module-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.module-stat-value{color:var(--text-primary);letter-spacing:-.5px;font-size:20px;font-weight:600}.module-stat-value.open{color:var(--accent-blue)}.module-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;font-size:11px}.module-arrow{opacity:.3;flex-shrink:0;transition:opacity .2s,transform .2s}.module-card-link .module-card:hover .module-arrow{opacity:.6;transform:translate(2px)}.module-arrow svg{width:18px;height:18px;color:var(--text-muted)}.module-card-coming-soon{cursor:default;opacity:.4}.module-card-coming-soon:hover{transform:none!important}.module-card-placeholder{pointer-events:none}@media (width<=640px){.modules-grid{grid-template-columns:1fr}.module-card{flex-wrap:wrap}.module-stats{border-top:1px solid #ffffff0a;justify-content:flex-start;width:100%;margin-top:4px;padding-top:8px}}.ticket-card{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;transition:all .2s;display:flex}.ticket-card:hover{border-color:var(--glass-border);background:#ffffff08}.ticket-card-left{flex:1;align-items:flex-start;gap:14px;min-width:0;display:flex}.ticket-number{color:var(--accent-purple);white-space:nowrap;background:#8b5cf61a;border-radius:6px;flex-shrink:0;margin-top:2px;padding:3px 8px;font-size:12px;font-weight:600}.ticket-card-info{min-width:0}.ticket-submitter{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:500;display:block}.ticket-issue-preview{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:400px;font-size:13px;overflow:hidden}.ticket-card-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.ticket-meta-tag{color:var(--text-muted);white-space:nowrap;background:#ffffff0d;border-radius:6px;padding:3px 8px;font-size:12px}.ticket-date{color:var(--text-dim);white-space:nowrap;font-size:12px}@media (width<=768px){.ticket-card{flex-direction:column;align-items:flex-start;gap:10px}.ticket-card-meta{flex-wrap:wrap}.ticket-issue-preview{max-width:100%}}.filter-bar{margin-bottom:20px;padding:16px 20px}.filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-search{flex:1;min-width:200px}.filter-select{min-width:140px}.ticket-list{flex-direction:column;gap:8px;display:flex}.ticket-list-card{padding:8px}@media (width<=768px){.filter-row{flex-direction:column}.filter-search,.filter-select{width:100%;min-width:unset}}.ticket-form{flex-direction:column;gap:4px;display:flex}.ticket-form-grid{grid-template-columns:repeat(2,1fr);gap:4px 20px;display:grid}@media (width<=640px){.ticket-form-grid{grid-template-columns:1fr}}.ticket-form-actions{justify-content:flex-end;padding-top:8px;display:flex}.message-thread{flex-direction:column;gap:16px;display:flex}.message-list{flex-direction:column;gap:10px;max-height:400px;padding:4px;display:flex;overflow-y:auto}.message-empty{text-align:center;color:var(--text-dim);padding:24px 0;font-size:13px}.message-bubble{max-width:75%;display:flex}.message-bubble.outgoing{align-self:flex-end}.message-bubble.incoming{align-self:flex-start}.message-bubble-content{border-radius:16px;max-width:100%;padding:10px 14px}.message-bubble.outgoing .message-bubble-content{background:#8b5cf633;border:1px solid #8b5cf626;border-bottom-right-radius:4px}.message-bubble.incoming .message-bubble-content{background:#ffffff0f;border:1px solid #ffffff0f;border-bottom-left-radius:4px}.message-author{color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:600;display:block}.message-body{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}.message-time{color:var(--text-dim);margin-top:4px;font-size:10px;display:block}.message-compose{align-items:flex-end;gap:10px;display:flex}.message-input{resize:none;flex:1;min-height:44px!important}.message-send-btn{flex-shrink:0;height:44px}.message-send-btn:disabled{opacity:.4;cursor:not-allowed}.remarks-panel{flex-direction:column;gap:12px;display:flex}.remarks-list{flex-direction:column;gap:8px;display:flex}.remarks-empty{text-align:center;color:var(--text-dim);padding:12px 0;font-size:13px}.remark-item{background:#ffffff08;border:1px solid #ffffff0a;border-radius:10px;padding:10px 12px}.remark-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.45}.remark-footer{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.remark-time{color:var(--text-dim);font-size:11px}.remark-actions{opacity:0;gap:8px;transition:opacity .15s;display:flex}.remark-item:hover .remark-actions{opacity:1}.remark-action-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px;transition:color .15s}.remark-action-btn:hover{color:var(--text-primary)}.remark-action-btn.danger:hover{color:#fca5a5}.remark-edit{flex-direction:column;gap:8px;display:flex}.remark-edit-input{min-height:60px!important;font-size:13px!important}.remark-edit-actions{gap:6px;display:flex}.remark-add{flex-direction:column;gap:8px;display:flex}.attachment-uploader{flex-direction:column;gap:12px;display:flex}.attachment-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}.attachment-item{background:#ffffff08;border:1px solid #ffffff0a;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;transition:border-color .15s;display:flex;position:relative}.attachment-item:hover{border-color:var(--glass-border)}.attachment-thumb{object-fit:cover;border-radius:6px;width:80px;height:60px}.attachment-file-icon{justify-content:center;align-items:center;width:80px;height:60px;display:flex}.attachment-file-icon svg{width:28px;height:28px;color:var(--text-dim)}.attachment-name{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.attachment-remove{color:#fca5a5;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.attachment-item:hover .attachment-remove{opacity:1}.attachment-remove svg{width:12px;height:12px}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);background:#14141ef2;width:100%;max-width:480px;max-height:80vh;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.modal-title{color:var(--text-primary);font-size:16px;font-weight:600}.modal-close{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#ffffff0d;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close:hover{color:var(--text-primary);background:#ffffff1a}.modal-close svg{width:16px;height:16px}.modal-body{padding:20px 24px 24px}.ticket-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.ticket-detail-title-row{align-items:center;gap:10px;display:flex}.ticket-detail-actions{gap:8px;display:flex}.ticket-detail-layout{grid-template-columns:1.5fr 1fr;align-items:start;gap:20px;display:grid}.ticket-detail-main,.ticket-detail-sidebar{flex-direction:column;gap:20px;display:flex}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;font-size:13px;font-weight:600}.ticket-issue-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6}.detail-fields{flex-direction:column;gap:12px;display:flex}.detail-field{flex-direction:column;gap:4px;display:flex}.detail-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.detail-value{color:var(--text-primary);font-size:14px}.detail-field .form-input,.detail-field .form-select{padding:7px 10px;font-size:13px}@media (width<=768px){.ticket-detail-layout{grid-template-columns:1fr}}.config-manager{flex-direction:column;gap:0;display:flex}.config-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.config-title{color:var(--text-primary);font-size:15px;font-weight:600}.config-count{color:var(--text-dim);background:#ffffff0d;border-radius:6px;padding:2px 8px;font-size:12px}.config-list{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.config-item{border-radius:10px;transition:background .15s}.config-item:hover{background:#ffffff08}.config-display-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.config-item-info{align-items:center;gap:10px;min-width:0;display:flex}.config-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.config-item-name{color:var(--text-primary);font-size:14px}.config-item-label{color:var(--text-dim);font-size:12px}.config-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.config-item:hover .config-actions{opacity:1}.config-action-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#ffffff0d;border:none;border-radius:7px;justify-content:center;align-items:center;transition:all .15s;display:flex}.config-action-btn:hover{color:var(--text-primary);background:#ffffff1a}.config-action-btn.danger:hover{color:#fca5a5;background:#ef444426}.config-action-btn svg{width:14px;height:14px}.config-edit-row,.config-add-row{align-items:center;gap:8px;padding:8px 0;display:flex}.config-input{flex:1;min-width:0;padding:7px 10px!important;font-size:13px!important}.config-color-input{border:1px solid var(--input-border);cursor:pointer;background:0 0;border-radius:8px;width:32px;height:32px;padding:2px}.config-color-input::-webkit-color-swatch-wrapper{padding:0}.config-color-input::-webkit-color-swatch{border:none;border-radius:5px}.config-add-btn{width:100%;color:var(--text-dim);cursor:pointer;background:0 0;border:1px dashed #ffffff1a;border-radius:10px;align-items:center;gap:6px;padding:10px;font-size:13px;transition:all .2s;display:flex}.config-add-btn:hover{color:#c4b5fd;background:#8b5cf60d;border-color:#8b5cf64d}.config-add-btn svg{width:14px;height:14px}.settings-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=768px){.settings-grid{grid-template-columns:1fr}}.page-content{max-width:1200px;padding:calc(80px + env(safe-area-inset-top)) 24px calc(40px + env(safe-area-inset-bottom));padding-left:max(24px, env(safe-area-inset-left));padding-right:max(24px, env(safe-area-inset-right));min-height:100svh;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.5px;font-size:24px;font-weight:600}.btn{border-radius:var(--glass-radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.btn-primary{color:#c4b5fd;background:#8b5cf633;border-color:#8b5cf64d}.btn-primary:hover{background:#8b5cf64d;border-color:#8b5cf666}.btn-danger{color:#fca5a5;background:#ef44441a;border-color:#ef444433}.btn-danger:hover{background:#ef444433;border-color:#ef44444d}.btn-sm{border-radius:8px;padding:5px 10px;font-size:12px}.btn svg{width:15px;height:15px}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.form-input,.form-select,.form-textarea{border-radius:var(--glass-radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--input-focus-border)}.form-textarea{resize:vertical;min-height:100px;line-height:1.5}.form-select{appearance:none;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='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-select option{color:var(--text-primary);background:#1a1a2e}.back-link{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:20px;font-size:13px;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--text-primary)}.back-link svg{width:14px;height:14px}
