@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";.nav-logo-img{border-radius:4px;height:65px;margin-right:15px}.nav-mobile-toggle{cursor:pointer;width:44px;height:44px;transition:var(--transition);border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;justify-content:center;gap:4px;padding:0;display:none}.nav-mobile-toggle:hover{background:#0a3d6214}.nav-mobile-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.hamburger-line{background:var(--primary);transform-origin:50%;border-radius:1px;width:20px;height:2px;margin:0 auto;transition:all .3s;display:block}.nav-mobile-toggle[aria-expanded=true] .hamburger-line:first-child{transform:translateY(6px)rotate(45deg)}.nav-mobile-toggle[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0}.nav-mobile-toggle[aria-expanded=true] .hamburger-line:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@keyframes spin{to{transform:rotate(360deg)}}.page-header{text-align:center;margin-bottom:2rem}.page-header h1{margin-bottom:.5rem;font-size:2.2rem}.page-header p{opacity:.9;font-size:1rem}.filters-bar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.filters-bar .select,.filters-bar .input{flex:1;min-width:200px}.search-input{flex:2;min-width:250px}.tickets-grid{gap:1.5rem;display:grid}.ticket-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:var(--transition);background:#fff;padding:1.5rem}.ticket-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ticket-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1rem;display:flex}.ticket-title{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ticket-title h3{color:var(--primary);margin:0;font-size:1.25rem}.company-name{color:var(--gray-600);font-size:.9rem}.ticket-date{color:var(--gray-600);font-size:.85rem}.ticket-description{color:var(--gray-700);margin:1rem 0;line-height:1.5}.attachments-section h4,.action-section h4,.comments-section h4{color:var(--primary);margin:1.5rem 0 .75rem;font-size:1.1rem;font-weight:600}.attachments-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.attachment-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--light-gray);text-align:center;padding:.75rem}.attachment-img{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:90px;margin-bottom:.5rem}.attachment-video{border-radius:var(--radius-sm);width:100%;height:100px}.attachment-name{color:var(--gray-700);white-space:nowrap;text-overflow:ellipsis;margin:.5rem 0 .25rem;font-size:.8rem;overflow:hidden}.attachment-type{color:var(--gray-600);margin-bottom:.5rem;font-size:.75rem}.attachment-link,.attachment-download{color:var(--primary);font-size:.8rem;text-decoration:none}.attachment-link:hover,.attachment-download:hover{text-decoration:underline}.customer-info{color:var(--gray-700);margin:1rem 0;font-size:.9rem;line-height:1.6}.ticket-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.action-section,.comments-section{border-top:1px dashed var(--gray-300);margin-top:1.5rem;padding-top:1.5rem}.comments-list{gap:1rem;margin-bottom:1rem;display:grid}.comment{background:var(--light-gray);border-radius:var(--radius-md);border:1px solid var(--gray-200);padding:1rem}.comment-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.comment-author{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.comment-email{color:var(--gray-600);font-size:.8rem}.comment-date{color:var(--gray-600);font-size:.75rem}.comment-text{margin:0;font-size:.9rem;line-height:1.5}.comment-input{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.comment-input .textarea{flex:1;min-height:90px}.status-badge{text-transform:uppercase;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.status-badge.new{color:#1565c0;background:#e3f2fd}.status-badge.in_review{color:#ef6c00;background:#fff8e1}.status-badge.quoted{color:#6a1b9a;background:#f3e5f5}.status-badge.assigned{color:#2e7d32;background:#e8f5e9}.status-badge.in_progress{color:#006064;background:#e0f7fa}.status-badge.resolved{color:#33691e;background:#e6ee9c}.status-badge.closed{color:#455a64;background:#eceff1}.role-badge{text-transform:uppercase;border-radius:999px;padding:.1rem .5rem;font-size:.65rem;font-weight:600}.role-badge.admin{color:#ad1457;background:#fce4ec;border:1px solid #f8bbd0}.role-badge.customer{color:#1b5e20;background:#e8f5e9;border:1px solid #a5d6a7}.alert.error{color:#c62828;border-radius:var(--radius-md);background:#fdf2f2;border-left:4px solid #e53935;margin:1rem 0;padding:1rem}.footer{background:var(--gray-800);color:#fff;margin-top:auto;padding:3rem 1rem 1.5rem}.footer-container{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1280px;margin:0 auto;display:grid}.footer-logo{align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;display:flex}.footer-logo .logo-icon{background:var(--secondary)}.footer-links h4{color:var(--secondary);margin-bottom:1rem}.footer-links a{color:var(--gray-300);margin-bottom:.75rem;font-size:.95rem;display:block}.footer-links a:hover{color:#fff;padding-left:4px}.social-icons{gap:1rem;margin-top:1rem;display:flex}.social-icons a{color:#fff;width:40px;height:40px;transition:var(--transition);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.social-icons a:hover{background:var(--secondary);transform:translateY(-2px)}.copyright{text-align:center;border-top:1px solid var(--gray-700);color:var(--gray-400);margin-top:2rem;padding-top:2rem;font-size:.875rem}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block!important}.printable-ticket{box-shadow:none!important;border:1px solid #ddd!important;padding:20mm!important}body{background:#fff!important}}@media (max-width:768px){.auth-card{grid-template-columns:1fr;max-width:480px}.auth-right{text-align:center;padding:2rem}.nav-links{box-shadow:var(--shadow-md);border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;flex-direction:column;padding:1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open,.nav-mobile-toggle{display:flex}}@media (max-width:480px){.auth-left,.auth-right{padding:1.5rem}.form-row{flex-direction:column;align-items:flex-start}.btn{width:100%}}.space-y-6>*+*{margin-top:1.5rem}.grid{display:grid}.grid-cols-1,.md\:grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.mt-6{margin-top:1.5rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.border-t{border-top:1px solid var(--gray-200)}.min-h-screen{min-height:100vh}.bg-gray-100{background-color:var(--gray-100)}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-4{padding-left:1rem;padding-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.block{display:block}.xsmall{font-size:.75rem}.cursor-pointer{cursor:pointer}.flex-1{flex:1}@media (max-width:768px){.input,.textarea,.file-input{padding:1rem;font-size:1rem}.label{font-size:1rem;font-weight:600}.btn.primary{width:100%;padding:1rem}.space-y-6>*+*{margin-top:1.75rem}}.file-input::-webkit-file-upload-button{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;margin-right:1rem;padding:.75rem 1.5rem;font-weight:500}.file-input::-webkit-file-upload-button:hover{background:#083054}@media (max-width:640px){.mobile-px-4{padding-left:1rem;padding-right:1rem}.mobile-px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:641px){.mobile-px-4,.mobile-px-6{padding-left:0;padding-right:0}}.brand-logo-img{border-radius:6px;width:auto;height:74px;display:block}.auth-right .hero h2,.auth-right .hero p{color:#fff}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}.navbar{z-index:50;width:100%;position:fixed;top:0}@media (max-width:600px){.tickets-grid{flex-direction:column;justify-content:flex-start;align-items:center;gap:1rem;padding:0 1rem;display:flex!important}.ticket-card{width:100%;max-width:420px;margin:0 auto}}.ticket-card{box-sizing:border-box;overflow:hidden}.comments-section{overflow-wrap:break-word;word-break:break-word;box-sizing:border-box;width:100%;max-width:100%}.comment-input{gap:.5rem;width:100%;max-width:100%;display:flex}.comment-input .input{flex:1;min-width:0}@media (max-width:600px){.ticket-card{padding:.75rem}.comments-section{padding-bottom:.5rem}.comment-input{flex-direction:column}.comment-input .input,.comment-input button{width:100%}}:root{--primary:#0a3d62;--secondary:#4a9d4f;--accent-white:#fff;--light-gray:#f8f9fa;--gray-100:#f1f3f5;--gray-200:#e9ecef;--gray-300:#ced4da;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--shadow-sm:0 2px 8px #0a3d621a;--shadow-md:0 8px 25px #0a3d621f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition:all .25s ease;--font:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--danger:#e74c3c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);color:var(--gray-800);background:linear-gradient(135deg,#f0f7ff 0%,#e6f4ea 100%);min-height:100vh;line-height:1.6}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.main-content{flex:1}.app-container{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:2rem 1rem}.centered-page{background:0 0;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.centered-page>*{width:100%;max-width:48rem;margin:0 auto}.d-flex{display:flex}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.align-items-center{align-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.flex-wrap{flex-wrap:wrap}.mb-0{margin-bottom:0}.me-2{margin-right:.5rem}.ms-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.py-5{padding:3rem 0}.text-end{text-align:end}.text-center{text-align:center}.text-muted{color:var(--gray-600)}.small{font-size:.875rem}.italic{font-style:italic}.white-space-pre-wrap{white-space:pre-wrap}.bg-success-subtle{background:#d4edda!important}.border-success{border-color:#28a745!important}.bg-gray-100{background:var(--gray-100)}.bg-light{background:var(--light-gray)}.font-medium{font-weight:500}.max-w-3xl{max-width:48rem}.w-100{width:100%}.text-danger{color:var(--danger)}.border-danger{border-color:var(--danger)!important}h1,h2,h3,h4,h5,h6{color:var(--gray-800);margin-bottom:.75rem;font-weight:600;line-height:1.3}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}a{color:var(--primary);transition:var(--transition);font-weight:500;text-decoration:none}a:hover{color:#083054;text-decoration:underline}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:500;display:inline-flex}.btn.primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn.primary:hover:not(:disabled){box-shadow:var(--shadow-md);background:#083054;transform:translateY(-1px)}.btn.ghost{color:var(--primary);border:2px solid var(--primary);background:0 0}.btn.ghost:hover{background:#0a3d620d;border-color:#083054}.btn.danger{color:#fff;background:#d32f2f}.btn.danger:hover:not(:disabled){background:#b71c1c}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.navbar{box-shadow:var(--shadow-sm);z-index:1000;border-bottom:1px solid var(--gray-200);background:#fff;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:1280px;height:70px;margin:0 auto;padding:0 1rem;display:flex}.nav-logo{color:var(--primary);align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;display:flex}.logo-icon{background:var(--primary);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:700;display:flex}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--gray-800);padding:.5rem 0;font-weight:500;position:relative}.nav-links a:after{content:"";background:var(--secondary);width:0;height:2px;transition:var(--transition);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-mobile-toggle{display:none}.auth-wrap{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;grid-template-columns:1fr 1fr;width:100%;max-width:900px;display:grid;overflow:hidden}.auth-left{flex-direction:column;gap:1.5rem;padding:2.5rem;display:flex}.brand{align-items:center;gap:1rem;display:flex}.brand-logo{background:var(--primary);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;font-weight:700;display:flex}.brand-title{margin:0;font-size:1.5rem;font-weight:600}.brand-sub{color:var(--gray-600);margin:0;font-size:.95rem}.alert{color:var(--danger);border-radius:var(--radius-sm);border-left:4px solid var(--danger);background:#fdf2f2;padding:.75rem 1rem;font-size:.9rem}.form{flex-direction:column;gap:1rem;display:flex}.label{color:var(--gray-800);font-size:.95rem;font-weight:500}.pw-field{position:relative}.pw-input{padding-right:3.5rem}.pw-toggle{color:var(--gray-600);cursor:pointer;background:0 0;border:none;font-size:.875rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.pw-toggle:hover{background:var(--gray-200);color:var(--gray-800)}.form-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.checkbox{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--primary)}.divider{text-align:center;color:var(--gray-600);margin:1.5rem 0;font-size:.9rem;position:relative}.divider:before{content:"";background:var(--gray-300);height:1px;position:absolute;top:50%;left:0;right:0}.divider span{background:#fff;padding:0 1rem}.auth-right{background:linear-gradient(135deg,var(--primary),#0d5278);color:#fff;align-items:center;padding:2.5rem;display:flex}.hero h2{margin-bottom:1rem;font-size:1.75rem;font-weight:600}.hero p{opacity:.95;margin-bottom:1.5rem;font-size:1rem}@media (max-width:640px){.mobile-px-4{padding-left:1rem;padding-right:1rem}.mobile-px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:641px){.mobile-px-4,.mobile-px-6{padding-left:0;padding-right:0}}.pill-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.pill-list li{background:#ffffff26;border-radius:50px;width:fit-content;padding:.5rem 1rem;font-size:.9rem}.input,.textarea,.select{border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);width:100%;color:var(--gray-800);transition:var(--transition);background:#fff;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.input::placeholder,.textarea::placeholder{color:var(--gray-600);opacity:.7}.input:focus,.textarea:focus,.select:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #0a3d6226}.select{appearance:none;cursor:pointer;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%22//www.w3.org/2000/svg%22%20width%3D%2212%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22%23666%22%20d%3D%22M0%2C0%20L12%2C0%20L6%2C8%20Z%22/%3E%3C/svg%3E);background-position:right 1rem center;background-repeat:no-repeat;background-size:12px;padding-right:2.5rem}.textarea{resize:vertical;min-height:100px}.file-input{border:1.5px dashed var(--gray-300);border-radius:var(--radius-sm);background:var(--light-gray);cursor:pointer;width:100%;transition:var(--transition);padding:.75rem 1rem;font-size:.95rem}.file-input:hover{border-color:var(--primary);background:#f0f7ff}.file-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0a3d6226}.spinner{border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin;display:inline-block}.progress-bar-bg{background:var(--gray-200);border-radius:4px;height:8px;margin-top:.5rem;overflow:hidden}.progress-bar-fill{background:var(--primary);border-radius:4px;width:0;height:100%;transition:width .3s}@media (max-width:768px){.auth-card{grid-template-columns:1fr;max-width:480px}.auth-right{text-align:center;padding:2rem}.nav-links{box-shadow:var(--shadow-md);border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;flex-direction:column;padding:1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}.nav-mobile-toggle{display:block}}@media (max-width:480px){.auth-left,.auth-right{padding:1.5rem}.form-row{flex-direction:column;align-items:flex-start}.btn{width:100%}}
