*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f7fb;color:#1f2937}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#10162c;padding:0}.login-form-side{display:grid;place-items:center;background:linear-gradient(145deg,#29498f,#527fe6);padding:32px}.login-panel{width:min(100%,330px);display:grid;gap:22px}.login-title{margin-bottom:18px}.login-title span{display:block;color:#2dd4bf;font-size:30px;font-weight:800}.login-title h1{color:#dbe7ff;font-size:28px}.login-field{color:#dbeafe;font-weight:600}.login-field input{border:0;border-bottom:1px solid rgba(255,255,255,.82);border-radius:0;background:transparent;color:#fff;padding:10px 0;outline:none}.login-field input:focus{border-bottom-color:#fff}.remember-row{display:flex;align-items:center;gap:8px;color:#1f2937;font-weight:500}.remember-row input{width:auto;accent-color:#fbbf24}.login-submit{margin-top:10px;border-radius:999px;background:#fff;color:#111827}.login-submit:hover{background:#e5edff}.login-brand-side{display:grid;place-items:center;min-height:100vh;background:linear-gradient(120deg,#0c1228f5,#1c2246e0),radial-gradient(circle at 75% 25%,rgba(77,111,230,.35),transparent 32%);padding:40px}.login-logo{display:block;max-width:min(76%,720px);max-height:360px;width:auto;height:auto;object-fit:contain;background:transparent;filter:none;mix-blend-mode:normal}.login-system-name{color:#fff;font-size:58px;text-align:center}h1{margin:0;font-size:32px}h2{margin:0 0 16px;font-size:20px}p{margin:8px 0 24px;color:#64748b}button{border:0;border-radius:6px;background:#2563eb;color:#fff;cursor:pointer;font-weight:700;padding:11px 16px}button:hover{background:#1d4ed8}button.secondary{background:#64748b}button.secondary:hover{background:#475569}button.small{padding:7px 10px;font-size:13px}button.danger{background:#dc2626}button.danger:hover{background:#b91c1c}button:disabled{cursor:not-allowed;opacity:.55}label{display:grid;gap:6px;color:#334155;font-size:14px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;font:inherit;padding:10px 12px}textarea{resize:vertical}.panel{width:100%;max-width:380px;display:grid;gap:16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:28px}.message{border-radius:6px;background:#fee2e2;color:#991b1b;font-size:14px;padding:10px 12px}.message.success{background:#dcfce7;color:#166534}.layout{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#111827;color:#fff;padding:24px}.sidebar h1{font-size:22px;margin:0}.brand-button{width:100%;display:block;background:transparent;padding:0;margin-bottom:28px;text-align:left}.brand-button:hover{background:transparent}.tenant-logo{display:block;max-width:100%;height:auto;max-height:80px;background:transparent;filter:none;mix-blend-mode:normal;object-fit:contain}.tenant-logo-preview{max-width:180px;max-height:100px;object-fit:contain}.user-photo-preview{width:120px;height:120px;border-radius:8px;object-fit:cover}.sidebar nav{display:grid;gap:8px}.sidebar button{background:#374151;text-align:left}.sidebar .brand-button,.sidebar .brand-button:hover{background:transparent}.sidebar button.active,.sidebar button:hover{background:#2563eb}.content{padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.topbar div{display:grid;gap:4px}.topbar span{color:#64748b;font-size:14px}.module-home{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:16px}.module-card{min-height:120px;background:#fff;border:1px solid #e2e8f0;color:#1f2937;font-size:18px;text-align:left}.module-card:hover{background:#eff6ff;color:#1d4ed8}.dashboard{display:grid;gap:16px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,260px));gap:16px}.dashboard-row+.dashboard-row{margin-top:2px}.dashboard-card{display:grid;gap:10px;min-height:120px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:18px}.dashboard-card span{color:#64748b;font-size:14px}.dashboard-card strong{color:#1f2937;font-size:34px}.dashboard-link{cursor:pointer;text-align:left;font-family:inherit}.dashboard-link:hover{border-color:#2563eb}.support-ticket-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;padding-bottom:14px}.support-ticket-tabs{display:flex;gap:0;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden}.support-ticket-tabs button{border:0;border-radius:0;background:#fff;color:#1f2937;border-right:1px solid #cbd5e1}.support-ticket-tabs button:last-child{border-right:0}.support-ticket-tabs button.active{background:#2563eb;color:#fff}.support-ticket-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.support-ticket-filters input,.support-ticket-filters select{min-width:160px}.client-form,.client-list,.client-view{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:20px;max-width:980px}.client-form{display:grid;gap:18px}.support-ticket-form{border:1px solid #d8e0ea;border-radius:6px;background:#fff;padding:18px;max-width:1280px;display:grid;gap:16px}.ticket-compose-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.ticket-compose-main,.ticket-compose-side{border:1px solid #e2e8f0;border-radius:6px;background:#fff}.ticket-compose-main{display:grid;gap:14px;padding:18px;background:#f8fcf8;border-color:#9bc49d}.ticket-compose-side{display:grid;align-content:start;gap:12px;padding:16px;background:#fbfcfe}.ticket-compose-side h3{margin:0;color:#334155;font-size:16px}.ticket-entity-note{border-left:4px solid #60a5fa;border-radius:4px;background:#fff;color:#14532d;padding:14px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ticket-entity-note strong{border-radius:4px;background:#eef2ff;color:#1e3a8a;padding:4px 8px;font-size:12px}.ticket-description{min-height:220px;resize:vertical}.ticket-upload-box{border:1px dashed #b7c7b7;border-radius:6px;background:#f1faf1;padding:14px;align-items:center;text-align:center}.ticket-upload-box span{color:#475569;font-size:13px}.ticket-upload-box input{max-width:420px;margin:0 auto}.ticket-form-actions{border-top:1px solid #e2e8f0;padding-top:16px;display:flex;justify-content:space-between;gap:12px}.ticket-detail-page{border:1px solid #d8e0ea;border-radius:6px;background:#fff;max-width:1320px;display:grid;gap:14px;padding:18px}.ticket-subtitle{margin:4px 0 0;color:#64748b;font-size:14px}.ticket-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.ticket-detail-main,.ticket-detail-side{border:1px solid #e2e8f0;border-radius:6px;background:#fff}.ticket-detail-main{min-height:560px}.ticket-detail-side{display:grid;align-content:start;gap:14px;padding:16px;background:#fbfcfe}.ticket-detail-side h3{margin:0;color:#334155;font-size:16px}.ticket-tabs{display:flex;gap:26px;border-bottom:1px solid #e2e8f0;padding:0 18px;min-height:50px;align-items:end}.ticket-tabs button{border:0;border-radius:0;background:transparent;color:#475569;font-weight:700;font-size:16px;padding-bottom:12px}.ticket-tabs button.active{color:#0284c7;border-bottom:2px solid #0284c7}.ticket-message-card,.ticket-section{margin:18px;border:1px solid #d8e8d8;border-radius:6px;background:#effbea;padding:16px}.ticket-message-card h3,.ticket-section h3{margin:0 0 12px}.ticket-message-head{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:13px;margin-bottom:12px}.ticket-section{background:#fff;border-color:#e2e8f0}.ticket-timeline{display:grid;gap:10px}.ticket-timeline-item{border-left:4px solid #38bdf8;border-radius:4px;background:#f8fafc;padding:10px 12px}.ticket-timeline-item.warning{border-left-color:#f59e0b;background:#fff7cc}.ticket-timeline-item small{color:#64748b;font-size:12px}.ticket-timeline-item p{margin:6px 0 0}.ticket-inline-files{border-top:1px solid #cfe3cf;margin-top:14px;padding-top:12px;display:flex;gap:10px;flex-wrap:wrap}.ticket-inline-files a,.ticket-timeline-item a,.subtask-item a{color:#0369a1;font-weight:700;text-decoration:none}.ticket-time-badge{display:inline-flex;min-width:84px;justify-content:center;border-radius:4px;border:1px solid currentColor;padding:5px 8px;font-weight:800}.ticket-time-badge.running{background:#dcfce7;color:#15803d}.ticket-time-badge.paused{background:#fef9c3;color:#a16207}.ticket-section.collapsible{padding:0;overflow:hidden}.section-toggle{width:100%;border:0;border-radius:0;background:#f8fafc;color:#0f172a;display:flex;justify-content:space-between;padding:14px 16px}.ticket-section.collapsible>p,.ticket-section.collapsible .ticket-timeline{padding:16px}.subtask-form{display:grid;gap:10px;margin:12px 0 14px}.subtask-list{display:grid;gap:10px}.subtask-item{border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;padding:12px}.subtask-item.done{background:#ecfdf5;border-color:#86efac}.subtask-item.done strong{text-decoration:line-through}.subtask-comments{display:grid;gap:6px;margin-top:10px;border-top:1px solid #e2e8f0;padding-top:10px}.subtask-comments p{margin:0;color:#334155}.subtask-comments small{color:#64748b;margin-right:6px}.subtask-comment-form{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.subtask-comment-form input[type=file]{width:100%}.subtask-comment-form button{justify-self:start}.schedule-badge{display:inline-flex;border-radius:4px;border:1px solid currentColor;padding:4px 8px;font-weight:700;font-size:13px}.schedule-badge.future{background:#dcfce7;color:#15803d}.schedule-badge.today{background:#fef9c3;color:#a16207}.schedule-badge.late{background:#fee2e2;color:#b91c1c}.ticket-execute-bar{border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:10px;padding-bottom:14px;flex-wrap:wrap}.ticket-execute-bar strong{color:#16a34a;font-size:18px;min-width:90px}.ticket-execute-bar span{color:#475569}.ticket-action-box,.ticket-reply-box{margin:18px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;padding:14px;display:grid;gap:12px}.ticket-action-box h3{margin:0}.ticket-reply-box textarea{min-height:110px}.ticket-reply-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.form-header{display:flex;align-items:center;justify-content:space-between;gap:12px}fieldset{display:grid;grid-template-columns:1fr 1fr;gap:14px;border:1px solid #e2e8f0;border-radius:8px;margin:0;padding:16px}legend{color:#0f172a;font-weight:700;padding:0 6px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e2e8f0;padding:12px 8px;text-align:left}th{color:#475569;font-size:13px}.client-list{overflow-x:auto}.client-list td:last-child{display:flex;gap:8px}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:82px;border:1px solid currentColor;border-radius:4px;font-size:12px;font-weight:800;line-height:1;padding:6px 8px}.status-badge-aberta{background:#fef9c3;color:#a16207}.status-badge-paga{background:#dcfce7;color:#166534}.status-badge-atrasada{background:#fee2e2;color:#b91c1c}.delete-box{display:grid;gap:14px;max-width:420px;margin-top:20px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7;padding:16px}.delete-box h3{margin:0;font-size:18px}.delete-box p{margin:0}.checkbox-label{display:flex;align-items:center;gap:8px}.checkbox-label input{width:auto}.delete-actions{display:flex;gap:8px}.technicians{display:grid;gap:12px;grid-column:1 / -1}.technician-box{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.audit-filter{display:grid;grid-template-columns:1fr 1fr auto auto;gap:12px;align-items:end;margin-bottom:18px}.permissions-box{display:grid;gap:14px}.permissions-box fieldset{grid-template-columns:repeat(2,minmax(160px,1fr))}.client-view{display:grid;gap:18px}.view-section{border:1px solid #e2e8f0;border-radius:8px;padding:16px}.view-section h3{margin:0 0 12px;font-size:18px}.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item{display:grid;gap:4px}.info-item span,.info-item small{color:#64748b;font-size:13px}.info-item strong{color:#1f2937;font-size:15px}@media (max-width: 800px){.login-page{grid-template-columns:1fr}.login-form-side{min-height:62vh}.login-brand-side{min-height:38vh}.login-system-name{font-size:38px}.layout,.module-home,.dashboard-grid,.ticket-compose-layout,.ticket-detail-layout{grid-template-columns:1fr}.support-ticket-form{padding:14px}.ticket-form-actions{flex-direction:column}.ticket-tabs{overflow-x:auto}.sidebar{padding:18px}fieldset,.technician-box,.audit-filter,.view-grid{grid-template-columns:1fr}}
