@import "https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{--primary-color:#2563eb;--primary-dark:#1e40af;--secondary-color:#10b981;--danger-color:#ef4444;--warning-color:#f59e0b;--info-color:#0ea5e9;--success-color:#10b981;--background:#f3f4f6;--surface:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border-color:#e5e7eb;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a}html,body,#root{width:100%;height:100%;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.layout{background-color:var(--background);flex-direction:column;min-height:100vh;display:flex}.container{max-width:1200px;margin:0 auto;padding:0 20px}.footer{background-color:var(--surface);border-top:1px solid var(--border-color);text-align:center;color:var(--text-secondary);margin-top:auto;padding:20px}.navbar{background-color:var(--surface);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow)}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;min-height:60px;margin:0 auto;padding:10px 20px;display:flex}.navbar-brand{flex-direction:column;gap:2px;line-height:1.1;display:flex}.navbar-brand h1{color:var(--primary-color);margin:0;font-size:24px;font-weight:700}.navbar-company{color:var(--text-secondary);letter-spacing:.02em;margin:0;font-size:12px;font-weight:500}.navbar-menu{align-items:center;display:flex}.menu-toggle{cursor:pointer;color:var(--text-primary);background:0 0;border:none;font-size:24px;display:none}.nav-links{align-items:center;gap:30px;display:flex}.nav-link{color:var(--text-primary);font-weight:500;text-decoration:none;transition:color .3s}.nav-link:hover{color:var(--primary-color)}.user-menu{border-left:1px solid var(--border-color);align-items:center;gap:15px;padding-left:30px;display:flex}.user-name{font-weight:500}.logout-btn{background-color:var(--danger-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-weight:500;transition:background-color .3s}.logout-btn:hover{background-color:#dc2626}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);margin-bottom:8px;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-color);background-color:var(--surface);width:100%;color:var(--text-primary);border-radius:4px;padding:10px;font-family:inherit;font-size:14px}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{color:var(--text-secondary);background-color:#f9fafb}.form-group textarea{resize:vertical;min-height:100px}.form-group select[multiple]{padding:8px}.form-group select[multiple] option{padding:4px 8px}button,.btn{cursor:pointer;border:none;border-radius:4px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .3s}.submit-btn,.login-btn,.create-btn,.update-btn{background-color:var(--primary-color);color:#fff}.submit-btn:hover,.login-btn:hover,.create-btn:hover,.update-btn:hover{background-color:var(--primary-dark)}.cancel-btn{background-color:var(--border-color);color:var(--text-primary)}.delete-btn{background-color:var(--danger-color);color:#fff;padding:6px 12px}.delete-btn:hover{background-color:#dc2626}.view-btn{background-color:var(--info-color);color:#fff;padding:6px 12px}.view-btn:hover{background-color:#0284c7}.close-btn{background-color:var(--success-color);color:#fff;padding:8px 16px}.close-btn:hover{background-color:#059669}button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#991b1b;border-left:4px solid var(--danger-color);background-color:#fee2e2;border-radius:4px;margin-bottom:20px;padding:12px 16px}.success-message{color:#166534;border-left:4px solid var(--success-color);background-color:#dcfce7;border-radius:4px;margin-bottom:20px;padding:12px 16px}.info-message{color:#075985;border-left:4px solid var(--info-color);background-color:#e0f2fe;border-radius:4px;margin-bottom:20px;padding:12px 16px}table{border-collapse:collapse;background-color:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:4px;overflow:hidden}thead{background-color:var(--background);border-bottom:2px solid var(--border-color)}th{text-align:left;color:var(--text-primary);padding:12px 16px;font-weight:600}td{border-bottom:1px solid var(--border-color);padding:12px 16px}tbody tr:hover{background-color:var(--background)}.status-badge{text-transform:uppercase;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-new{color:#0c4a6e;background-color:#dbeafe}.status-assigned{color:#92400e;background-color:#fef3c7}.status-progress{color:#3730a3;background-color:#c7d2fe}.status-waiting{color:#831843;background-color:#fbcfe8}.status-resolved{color:#166534;background-color:#dcfce7}.status-closed{color:#374151;background-color:#f3f4f6}.status-active{color:#166534;background-color:#dcfce7}.status-inactive{color:#6b7280;background-color:#f3f4f6}.priority-badge{background-color:#f3f4f6;border-left:3px solid;border-radius:4px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.sla-badge{text-transform:uppercase;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.sla-green{color:#166534;background-color:#dcfce7}.sla-yellow{color:#92400e;background-color:#fef3c7}.sla-red{color:#991b1b;background-color:#fee2e2}.loading{text-align:center;color:var(--text-secondary);padding:40px 20px;font-weight:500}.loading:after{content:"";border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:20px;height:20px;margin-left:10px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.pagination-btn{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:4px;padding:8px 16px;font-weight:500;transition:all .3s}.pagination-btn:hover:not(:disabled){background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.menu-toggle{display:block}.nav-links{background-color:var(--surface);border-bottom:1px solid var(--border-color);flex-direction:column;gap:10px;max-height:0;padding:20px;transition:max-height .3s;position:absolute;top:60px;left:0;right:0;overflow:hidden}.nav-links.open{max-height:500px}.navbar-container{flex-direction:column;align-items:flex-start;height:auto;padding:10px 20px}.user-menu{border-left:none;border-top:1px solid var(--border-color);flex-direction:column;align-items:flex-start;width:100%;padding-top:10px;padding-left:0}.container{padding:0 10px}table{font-size:12px}th,td{padding:8px 12px}.stats-grid,.actions-grid,.report-stats{grid-template-columns:1fr!important}}.image-lightbox-overlay{z-index:9999;background:#0f172ab8;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out lightbox-fade;display:flex;position:fixed;inset:0}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.image-lightbox-panel{color:#fff;background:#0f172a;border-radius:14px;flex-direction:column;width:min(960px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 60px #00000073}.image-lightbox-toolbar{background:#ffffff0f;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.image-lightbox-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.image-lightbox-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.lightbox-zoom-btn,.lightbox-close-btn,.lightbox-download-btn{cursor:pointer;color:#fff;border:none;border-radius:999px;align-items:center;gap:6px;font-weight:700;display:inline-flex}.lightbox-download-btn{background:#0f766ef2;padding:8px 12px;font-size:12px}.lightbox-download-btn:hover{background:#0f766e}.lightbox-zoom-btn{background:#2563ebf2;padding:8px 12px;font-size:12px}.lightbox-zoom-btn:hover{background:#1d4ed8}.lightbox-close-btn{background:#ffffff1f;justify-content:center;width:34px;height:34px}.lightbox-close-btn:hover{background:#ef4444e6}.image-lightbox-stage{cursor:zoom-in;background:radial-gradient(circle at top,#2563eb2e,#0000 45%),#020617;flex:1;justify-content:center;align-items:center;min-height:280px;max-height:calc(100vh - 180px);padding:20px;display:flex;overflow:auto}.image-lightbox-img{object-fit:contain;transform-origin:50%;border-radius:6px;max-width:min(100%,880px);max-height:calc(100vh - 220px);transition:transform .2s;box-shadow:0 12px 40px #00000059}.image-lightbox-hint{color:#e2e8f0cc;text-align:center;padding:10px 14px 14px;font-size:12px}.image-lightbox-overlay .lens-icon{box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:14px;height:14px;display:inline-block;position:relative}.image-lightbox-overlay .lens-icon:after{content:"";background:#fff;border-radius:1px;width:6px;height:2px;position:absolute;bottom:-1px;right:-5px;transform:rotate(45deg)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{flex-direction:column;display:flex}.layout{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;padding:30px 0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.login-container{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background-color:var(--surface);box-shadow:var(--shadow-lg);border-radius:8px;width:100%;max-width:400px;padding:40px}.login-card h1{color:var(--primary-color);text-align:center;margin-bottom:8px;font-size:32px}.login-card .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:30px;font-size:14px}.login-form{margin-bottom:30px}.demo-credentials{background-color:var(--background);border-left:3px solid var(--info-color);border-radius:4px;padding:15px;font-size:12px;line-height:1.6}.demo-credentials .demo-title{color:var(--text-primary);margin-bottom:8px;font-weight:600}.demo-credentials p{color:var(--text-secondary);margin:4px 0;font-family:Courier New,monospace}@media (width<=480px){.login-card{padding:30px 20px}.login-card h1{font-size:24px}.demo-credentials{font-size:11px}}.dashboard-page{--dash-ink:#0f172a;--dash-muted:#64748b;--dash-line:#e2e8f0;--dash-panel:#fff;--dash-soft:#f8fafc;--dash-blue:#1d4ed8;--dash-blue-soft:#eff6ff;--dash-teal:#0f766e;--dash-teal-soft:#f0fdfa;--dash-amber:#b45309;--dash-amber-soft:#fffbeb;--dash-slate:#334155;--dash-slate-soft:#f1f5f9;color:var(--dash-ink);font-family:"Source Sans 3",Segoe UI,sans-serif;animation:.45s ease-out dash-fade-in}.dashboard-page h1,.dashboard-page h2,.dashboard-page .kpi-value,.dashboard-page .action-title{font-family:Manrope,"Source Sans 3",sans-serif}@keyframes dash-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dash-hero{border:1px solid var(--dash-line);background:linear-gradient(135deg,#1d4ed814 0%,#0f766e0f 48%,#f8fafce6 100%),radial-gradient(circle at 100% 0,#1d4ed81f,#0000 42%);border-radius:16px;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;padding:28px 28px 26px;display:flex;position:relative;overflow:hidden}.dash-hero:after{content:"";pointer-events:none;background:#1d4ed814;border-radius:50%;width:180px;height:180px;position:absolute;inset:auto -40px -50px auto}.dash-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--dash-blue);margin-bottom:8px;font-size:12px;font-weight:700}.dash-hero h1{letter-spacing:-.03em;color:var(--dash-ink);margin-bottom:8px;font-size:clamp(1.7rem,2.4vw,2.15rem);font-weight:800;line-height:1.15}.dash-lead{max-width:42ch;color:var(--dash-muted);font-size:1rem;line-height:1.5}.dash-hero-meta{z-index:1;flex-direction:column;align-items:flex-end;gap:10px;display:flex}.dash-role-chip{background:var(--dash-blue);color:#fff;letter-spacing:.02em;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.dash-date{color:var(--dash-muted);font-size:13px;font-weight:600}.dash-section{margin-bottom:24px;animation:.55s ease-out 80ms both dash-fade-in}.dash-split{grid-template-columns:1.35fr 1fr;gap:20px;animation-delay:.14s;display:grid}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi-card{background:var(--dash-panel);border:1px solid var(--dash-line);border-radius:14px;padding:20px 18px 18px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.kpi-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.kpi-total:before{background:var(--dash-blue)}.kpi-open:before{background:#ea580c}.kpi-closed:before{background:var(--dash-teal)}.kpi-users:before{background:var(--dash-slate)}.kpi-total{background:linear-gradient(180deg, #fff 0%, var(--dash-blue-soft) 140%)}.kpi-open{background:linear-gradient(#fff 0%,#fff7ed 140%)}.kpi-closed{background:linear-gradient(180deg, #fff 0%, var(--dash-teal-soft) 140%)}.kpi-users{background:linear-gradient(180deg, #fff 0%, var(--dash-slate-soft) 140%)}.kpi-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.kpi-label{letter-spacing:.04em;text-transform:uppercase;color:var(--dash-muted);font-size:12px;font-weight:700}.kpi-icon{width:28px;height:28px;color:var(--dash-slate);background:#0f172a0a;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.kpi-value{letter-spacing:-.04em;color:var(--dash-ink);margin-bottom:8px;font-size:clamp(1.9rem,2.5vw,2.35rem);font-weight:800;line-height:1}.kpi-hint{color:var(--dash-muted);font-size:13px}.dash-panel{background:var(--dash-panel);border:1px solid var(--dash-line);border-radius:14px;padding:22px;box-shadow:0 1px 2px #0f172a0a}.panel-head{margin-bottom:18px}.panel-head h2{letter-spacing:-.02em;margin-bottom:4px;font-size:1.15rem;font-weight:800}.panel-head p{color:var(--dash-muted);font-size:.92rem}.panel-empty{color:var(--dash-muted);text-align:center;padding:24px 0}.status-bar{background:var(--dash-soft);border-radius:999px;gap:2px;height:12px;margin-bottom:18px;display:flex;overflow:hidden}.status-bar-segment{min-width:4px;transition:flex-grow .35s}.status-list{flex-direction:column;gap:12px;list-style:none;display:flex}.status-row{grid-template-columns:10px minmax(110px,1.1fr) 1.4fr 36px 42px;align-items:center;gap:10px;display:grid}.status-dot{border-radius:50%;width:10px;height:10px}.status-name{color:var(--dash-ink);font-size:13px;font-weight:600}.status-track{background:var(--dash-soft);border-radius:999px;height:7px;overflow:hidden}.status-fill{border-radius:inherit;height:100%;transition:width .4s;display:block}.status-count,.status-pct{text-align:right;font-size:12px;font-weight:700}.status-count{color:var(--dash-ink)}.status-pct{color:var(--dash-muted)}.tone-new{background:#2563eb}.tone-review{background:#0284c7}.tone-progress{background:#0d9488}.tone-waiting{background:#d97706}.tone-resolved{background:#059669}.tone-closed{background:#64748b}.tone-reopened{background:#ea580c}.action-list{gap:10px;display:grid}.action-tile{border:1px solid var(--dash-line);background:var(--dash-soft);border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;transition:border-color .2s,transform .2s,background .2s,box-shadow .2s;display:flex}.action-tile:hover{background:#fff;border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 8px 18px #1d4ed814}.action-primary{color:#fff;background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);border-color:#0000}.action-primary:hover{background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);border-color:#0000;box-shadow:0 10px 20px #1d4ed840}.action-primary .action-title,.action-primary .action-desc{color:#fff}.action-primary .action-desc{opacity:.85}.action-title{color:var(--dash-ink);font-size:.98rem;font-weight:700}.action-desc{color:var(--dash-muted);font-size:.84rem}@media (width<=1024px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-split{grid-template-columns:1fr}}@media (width<=720px){.dash-hero{flex-direction:column;align-items:flex-start;padding:22px}.dash-hero-meta{align-items:flex-start}.kpi-grid{grid-template-columns:1fr}.status-row{grid-template-columns:10px 1fr 40px;grid-template-areas:"dot name count""track track pct"}.status-dot{grid-area:dot}.status-name{grid-area:name}.status-count{grid-area:count}.status-track{grid-area:track;margin-top:2px}.status-pct{grid-area:pct;margin-top:2px}}.tickets-page h1{color:var(--text-primary);margin-bottom:30px;font-size:28px}.tickets-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.tickets-header h1{margin:0}.create-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-weight:600;transition:background-color .3s}.create-btn:hover{background-color:var(--primary-dark)}.filters{background-color:var(--surface);box-shadow:var(--shadow);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px;padding:20px;display:grid}.filter-group label{margin-bottom:8px;font-size:14px;font-weight:500}.filter-group select{border:1px solid var(--border-color);background-color:var(--surface);border-radius:4px;padding:8px 12px;font-size:14px}.tickets-table{background-color:var(--surface);box-shadow:var(--shadow);border-radius:6px;overflow-x:auto}.tickets-table table{width:100%}.ticket-number{color:var(--primary-color);font-weight:700}.ticket-title{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.ticket-row:hover{background-color:var(--background)}.no-tickets{text-align:center;color:var(--text-secondary);background-color:var(--surface);box-shadow:var(--shadow);border-radius:6px;padding:60px 20px}.my-queue-page .queue-subtitle{color:var(--text-secondary);margin-top:6px;font-size:14px}.queue-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px;display:grid}.queue-stat{background:var(--surface);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:8px;padding:16px}.queue-stat-red{border-left-color:var(--danger-color)}.queue-stat-yellow{border-left-color:var(--warning-color)}.queue-stat-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.queue-stat-value{color:var(--text-primary);font-size:28px;font-weight:700}.filter-checkbox{align-items:flex-end;padding-bottom:4px;display:flex}.filter-checkbox label{cursor:pointer;align-items:center;gap:8px;font-weight:500;display:flex}.filter-checkbox input{width:auto}.queue-empty-hint{color:var(--text-secondary);margin-top:8px;font-size:13px}.sla-row-red{background-color:#ef44440f}.sla-row-yellow{background-color:#f59e0b0f}.ticket-detail-page{background-color:var(--surface);box-shadow:var(--shadow);border-radius:6px;padding:30px}.back-btn{background-color:var(--border-color);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;margin-bottom:20px;padding:8px 16px;font-weight:500;transition:all .3s}.back-btn:hover{background-color:var(--text-secondary);color:#fff}.ticket-header{border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px;padding-bottom:20px;display:grid}.ticket-header h1{color:var(--primary-color);margin-bottom:8px;font-size:16px}.ticket-header h2{color:var(--text-primary);margin-bottom:8px;font-size:24px}.ticket-company{color:var(--text-secondary);font-size:14px}.ticket-meta{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.meta-item{flex-direction:column;display:flex}.meta-item label{color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.meta-value,.priority-name{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.4}.status-selector{gap:8px;display:flex}.status-selector select{border:1px solid var(--border-color);border-radius:4px;flex:1;padding:8px 12px}.update-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-weight:500}.update-btn:hover{background-color:var(--primary-dark)}.ticket-content{gap:30px;display:grid}.description-section,.sla-details,.developers-section,.attachments-section,.comments-section{border-bottom:1px solid var(--border-color);padding-bottom:20px}.description-section h3,.sla-details h3,.developers-section h3,.attachments-section h3,.comments-section h3{color:var(--text-primary);margin-bottom:16px;font-size:18px}.description-section p{color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.sla-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.sla-item{background-color:var(--background);border-radius:4px;padding:12px}.sla-item label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.sla-item span{color:var(--text-primary);font-weight:500;display:block}.add-comment-form{margin-bottom:24px}.add-comment-form textarea{border:1px solid var(--border-color);border-radius:4px;width:100%;margin-bottom:12px;padding:12px;font-family:inherit;font-size:14px}.comments-list{gap:16px;display:grid}.comment{background-color:var(--background);border-left:3px solid var(--primary-color);border-radius:4px;padding:16px}.comment-header{justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.comment-author{color:var(--text-primary);font-weight:600}.comment-date{color:var(--text-secondary)}.comment-content{color:var(--text-secondary);white-space:pre-wrap;line-height:1.5}.no-comments{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:14px}.attachments-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.attachment-card{border:1px solid var(--border-color);background:var(--background);border-radius:8px;margin:0;overflow:hidden}.secure-thumb-frame{cursor:zoom-in;background:#e2e8f0;height:160px;position:relative;overflow:hidden}.ticket-attachment-img{object-fit:cover;background:#e2e8f0;width:100%;height:100%;display:block}.attachment-card figcaption{flex-direction:column;gap:2px;padding:10px;display:flex}.attachment-download-btn{color:#0f766e;cursor:pointer;background:#f0fdfa;border:1px solid #0f766e;border-radius:6px;width:calc(100% - 16px);margin:8px 8px 0;padding:7px 10px;font-size:12px;font-weight:700;display:block}.attachment-download-btn:hover{color:#fff;background:#0f766e}.attachment-name{color:var(--text-primary);word-break:break-all;font-size:12px;font-weight:600}.attachment-size{color:var(--text-secondary);font-size:11px}.no-attachments,.attachment-loading,.attachment-error{color:var(--text-secondary);font-size:14px}.attachment-error{color:var(--danger-color);text-align:center;padding:24px 12px}.attachment-loading{text-align:center;padding:48px 12px}.developers-list{margin:0 0 16px;padding:0;list-style:none}.developers-list li{background:var(--background);border-radius:4px;margin-bottom:8px;padding:8px 12px}.no-developers{color:var(--text-secondary);margin-bottom:16px}.assign-developer-form label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.assign-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.assign-controls select{border:1px solid var(--border-color);background:var(--surface);border-radius:4px;flex:1;min-width:220px;padding:10px;font-size:14px}.assign-hint{color:var(--text-secondary);margin-top:8px;font-size:13px}.actions{border-top:1px solid var(--border-color);gap:12px;padding-top:20px;display:flex}@media (width<=768px){.ticket-header,.ticket-meta{grid-template-columns:1fr}}.create-ticket-page{background-color:var(--surface);box-shadow:var(--shadow);border-radius:6px;max-width:700px;margin:0 auto;padding:30px}.create-ticket-page h1{color:var(--text-primary);margin-bottom:30px;font-size:28px}.create-ticket-form{gap:24px;display:grid}.form-group{flex-direction:column;display:flex}.form-group label{color:var(--text-primary);margin-bottom:8px;font-weight:600}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-color);background-color:var(--surface);color:var(--text-primary);border-radius:4px;padding:10px 12px;font-family:inherit;font-size:14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #2563eb1a}.char-count{text-align:right;color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.image-attach-control{gap:14px;display:grid}.image-dropzone{text-align:center;cursor:pointer;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:2px dashed #94a3b8;border-radius:12px;outline:none;padding:28px 18px;transition:border-color .2s,background .2s,box-shadow .2s;position:relative}.image-dropzone:hover,.image-dropzone:focus-visible{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.image-dropzone.is-dragging{background:#eff6ff;border-color:#1d4ed8}.image-dropzone.is-full,.image-dropzone.is-disabled{cursor:not-allowed;opacity:.72}.image-dropzone-input{display:none}.dropzone-icon{color:#1d4ed8;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;font-weight:700;display:inline-flex}.dropzone-title{color:var(--text-primary);margin-bottom:4px;font-weight:700}.dropzone-hint,.dropzone-meta{color:var(--text-secondary);font-size:13px}.dropzone-meta{margin-top:8px;font-weight:600}.image-preview-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.image-preview-item{border:1px solid var(--border-color);background:var(--background);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.thumb-frame,.secure-thumb-frame{cursor:zoom-in;background:#e2e8f0;height:120px;position:relative;overflow:hidden}.thumb-frame img,.secure-thumb-frame .ticket-attachment-img{object-fit:cover;width:100%;height:100%;display:block}.zoom-lens-btn{color:#fff;cursor:zoom-in;z-index:2;background:#0f172ac7;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;bottom:8px;right:8px}.zoom-lens-btn:hover{background:#1d4ed8f2}.lens-icon{box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:14px;height:14px;display:inline-block;position:relative}.lens-icon:after{content:"";background:#fff;border-radius:1px;width:6px;height:2px;position:absolute;bottom:-1px;right:-5px;transform:rotate(45deg)}.zoom-level{font-size:11px}.remove-image-btn{background:var(--danger-color);color:#fff;cursor:pointer;border:none;border-radius:4px;margin:8px;padding:6px 8px;font-size:12px;font-weight:600}.image-name{color:var(--text-secondary);word-break:break-all;padding:0 8px 8px;font-size:11px}.form-actions{gap:12px;margin-top:12px;display:flex}.submit-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;flex:1;padding:12px;font-weight:600;transition:background-color .3s}.submit-btn:hover{background-color:var(--primary-dark)}.cancel-btn{background-color:var(--border-color);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;flex:1;padding:12px;font-weight:600;transition:all .3s}.cancel-btn:hover{background-color:var(--text-secondary);color:#fff}@media (width<=768px){.create-ticket-page{padding:20px}.create-ticket-page h1{font-size:20px}}.reports-page{background-color:var(--surface);box-shadow:var(--shadow);border-radius:10px;padding:28px}.reports-header{margin-bottom:20px}.reports-page h1{color:var(--text-primary);margin-bottom:6px;font-size:28px}.reports-subtitle{color:var(--text-secondary);font-size:14px}.report-type-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.report-type-tab{border:1px solid var(--border-color);background:var(--background);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background-color .2s,color .2s,border-color .2s}.report-type-tab:hover{border-color:var(--primary-color);color:var(--primary-color)}.report-type-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.date-filter{background-color:var(--background);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto;align-items:end;gap:16px;margin-bottom:28px;padding:18px;display:grid}.filter-group{flex-direction:column;display:flex}.filter-group label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600}.filter-group input,.filter-group select{border:1px solid var(--border-color);background:var(--surface);color:var(--text-primary);border-radius:4px;padding:8px 12px;font-size:14px}.detail-report{border-top:1px solid var(--border-color);margin-top:40px;padding-top:28px}.detail-report h2{color:var(--text-primary);margin-bottom:6px;font-size:22px}.detail-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) auto}.detail-report-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:14px;display:flex}.detail-export-btn{width:auto;padding:8px 14px;font-size:13px}.refresh-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 16px;font-weight:600;transition:background-color .3s}.refresh-btn:hover{background-color:var(--primary-dark)}.report-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{color:#fff;box-shadow:var(--shadow);background:linear-gradient(145deg,#1d4ed8,#1e3a8a);border-radius:10px;padding:20px}.stat-card h3{opacity:.9;text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;font-size:12px;font-weight:600}.stat-card .value{font-size:32px;font-weight:700;line-height:1.1}.stat-card .value-sm{font-size:24px}.charts-section{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:32px;display:grid}.chart-container{background-color:var(--background);border:1px solid var(--border-color);border-radius:8px;padding:20px}.chart-container h3{color:var(--text-primary);margin-bottom:16px;font-size:16px}.empty-note{color:var(--text-secondary);padding:12px 0;font-size:14px}.status-breakdown,.priority-breakdown{flex-direction:column;gap:12px;display:flex}.breakdown-item{grid-template-columns:120px 1fr 48px;align-items:center;gap:12px;display:grid}.breakdown-item .label{color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:600}.breakdown-item .bar{background-color:var(--surface);border:1px solid var(--border-color);border-radius:4px;height:18px;overflow:hidden}.breakdown-item .fill{background:linear-gradient(90deg,#2563eb,#1d4ed8);height:100%;transition:width .3s}.breakdown-item .count{text-align:right;color:var(--primary-color);font-size:14px;font-weight:700}.developers-report{margin-bottom:32px}.developers-report h3{margin-bottom:12px;font-size:16px}.developers-table-wrap{border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.dev-name{font-weight:600}.dev-email{color:var(--text-secondary);font-size:12px}.export-section{background-color:var(--background);border:1px solid var(--border-color);border-radius:8px;padding:20px}.export-section h3{color:var(--text-primary);margin-bottom:16px;font-size:16px}.export-buttons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.export-btn{cursor:pointer;border:none;border-radius:4px;padding:12px;font-weight:600;transition:all .3s}.export-btn.csv{color:#fff;background-color:#0f766e}.export-btn.csv:hover{background-color:#0d9488}@media (width<=768px){.reports-page{padding:18px}.date-filter,.charts-section{grid-template-columns:1fr}.breakdown-item{grid-template-columns:90px 1fr 40px}}.admin-page{background-color:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:28px}.admin-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:18px;display:flex}.admin-header h1{color:var(--text-primary);margin-bottom:4px;font-size:28px}.admin-subtitle{color:var(--text-secondary);font-size:14px}.admin-header .create-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:10px 20px;font-weight:600;transition:background-color .3s}.admin-header .create-btn:hover{background-color:var(--primary-dark)}.admin-layout{grid-template-columns:1fr;gap:20px;display:grid}.admin-layout.with-panel{grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);align-items:start}.admin-list-pane{min-width:0}.admin-detail-panel{border:1px solid var(--border-color);background:#f8fafc;border-radius:10px;max-height:calc(100vh - 140px);padding:16px;animation:.25s ease-out panel-in;position:sticky;top:16px;overflow:auto;box-shadow:0 8px 24px #0f172a0f}@keyframes panel-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.detail-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.detail-panel-head h3{color:var(--text-primary);font-size:18px}.panel-close{border:1px solid var(--border-color);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:#fff;border-radius:6px;font-size:14px}.panel-close:hover{background:var(--background);color:var(--text-primary)}.detail-form{border-left-color:var(--primary-color);margin-bottom:0}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-hint{color:var(--text-secondary);margin-top:6px;font-size:12px;display:block}.detail-meta{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.detail-meta span{border:1px solid var(--border-color);color:var(--text-secondary);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.detail-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.admin-form{background-color:var(--background);border-left:4px solid var(--warning-color);border-radius:6px;margin-bottom:30px;padding:20px}.admin-form h3{color:var(--text-primary);margin-bottom:20px;font-size:18px}.admin-form .form-group{margin-bottom:16px}.admin-form label{color:var(--text-primary);margin-bottom:8px;font-weight:600;display:block}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--border-color);background-color:var(--surface);width:100%;color:var(--text-primary);border-radius:4px;padding:10px 12px;font-family:inherit;font-size:14px}.admin-form input:disabled,.admin-form select:disabled{color:var(--text-secondary);cursor:not-allowed;background-color:#eef2f7}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #2563eb1a}.admin-form .submit-btn{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-weight:600;transition:background-color .3s}.admin-form .submit-btn:hover:not(:disabled){background-color:var(--primary-dark)}.admin-form .submit-btn:disabled{opacity:.7;cursor:not-allowed}.admin-table{border-collapse:collapse;background-color:var(--surface);width:100%}.admin-table thead{background-color:var(--background);border-bottom:2px solid var(--border-color)}.admin-table th{text-align:left;color:var(--text-primary);padding:12px 16px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:14px}.admin-table tbody tr.clickable-row{cursor:pointer;transition:background-color .15s}.admin-table tbody tr.clickable-row:hover{background-color:#eff6ff}.admin-table tbody tr.selected-row{background-color:#dbeafe}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-table .view-btn{background-color:var(--info-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 10px;font-size:12px;font-weight:600}.admin-table .view-btn:hover{background-color:#0284c7}.admin-table .delete-btn{background-color:var(--danger-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:600;transition:background-color .3s}.admin-table .delete-btn:hover{background-color:#dc2626}.pagination{border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:12px;margin-top:30px;padding-top:20px;display:flex}.pagination button{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:4px;padding:8px 16px;font-weight:500;transition:all .3s}.pagination button:hover:not(:disabled){background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:var(--text-secondary);font-weight:500}.users-admin .form-group select[multiple]{min-height:100px;padding:8px}.users-admin .form-group select[multiple] option{padding:6px 8px}@media (width<=1024px){.admin-layout.with-panel{grid-template-columns:1fr}.admin-detail-panel{max-height:none;position:static}}@media (width<=768px){.admin-page{padding:18px}.admin-header{flex-direction:column;align-items:flex-start}.admin-header h1{font-size:20px}.form-row{grid-template-columns:1fr}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:8px 10px}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
