:root{--navy:#0b1739;--navy-2:#101f48;--ink:#111827;--muted:#6b7280;--line:#e7eaf0;--bg:#f5f7fa;--white:#fff;--accent:#c62b36;--accent-dark:#a91f2a;--success:#16835a;--warning:#a66400;--info:#2457a6;--radius:16px;--shadow:0 8px 30px rgba(16,24,40,.06)}
*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;background:var(--bg)}
.sidebar{position:fixed;inset:0 auto 0 0;width:268px;background:var(--navy);color:white;padding:24px 18px;display:flex;flex-direction:column;z-index:30}.brand{height:62px;display:flex;align-items:center;gap:12px;padding:0 8px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark,.visual-brand span,.mobile-login-brand span{width:38px;height:38px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:-1px}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font-size:14px;letter-spacing:1.5px}.brand-copy span{font-size:11px;color:#aeb8d0}.sidebar-close{display:none;margin-left:auto;color:white}.nav-main{padding-top:26px;display:flex;flex-direction:column;gap:6px}.nav-label{font-size:10px;letter-spacing:1.4px;color:#7483a6;padding:0 12px 8px;font-weight:700}.nav-link{height:46px;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 12px;color:#b9c2d6;font-size:14px;font-weight:600;transition:.18s}.nav-link:hover{background:rgba(255,255,255,.06);color:white}.nav-link.active{background:white;color:var(--navy);box-shadow:0 8px 20px rgba(0,0,0,.15)}.nav-icon{width:24px;text-align:center;font-size:18px}.sidebar-footer{margin-top:auto}.secure-box{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:12px;margin-bottom:12px;background:rgba(255,255,255,.03)}.secure-dot{width:8px;height:8px;border-radius:50%;background:#36d399;box-shadow:0 0 0 4px rgba(54,211,153,.11)}.secure-box div{display:flex;flex-direction:column}.secure-box strong{font-size:11px}.secure-box small{font-size:10px;color:#8fa0c4;margin-top:2px}.user-card{display:flex;align-items:center;gap:10px;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.1)}.avatar{width:34px;height:34px;border-radius:50%;background:#23335c;display:grid;place-items:center;font-size:13px;font-weight:700}.user-meta{display:flex;flex-direction:column;min-width:0}.user-meta strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta span{font-size:10px;color:#8fa0c4;margin-top:2px}.logout-link{margin-left:auto;color:#9aa8c5;font-size:18px}
.main-area{min-height:100vh;margin-left:268px}.topbar{height:76px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:18px}.breadcrumb{font-size:12px;color:#7a8495}.breadcrumb span{padding:0 8px;color:#c0c6d1}.live-badge{font-size:11px;color:#476055;background:#f2f9f5;border:1px solid #d9eee1;padding:7px 10px;border-radius:999px;display:flex;align-items:center;gap:6px;font-weight:600}.live-badge span{width:6px;height:6px;border-radius:50%;background:#28a772}.top-user{font-size:12px;font-weight:600;color:#3c4555}.menu-toggle{display:none}.icon-btn{border:0;background:transparent;cursor:pointer;font-size:20px}.content-wrap{padding:36px;max-width:1600px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-heading.compact{align-items:center}.eyebrow{display:block;color:var(--accent);font-size:10px;letter-spacing:1.6px;font-weight:800;margin-bottom:9px}.eyebrow.light{color:#e7a3aa}.page-heading h1{font-size:30px;letter-spacing:-.7px;margin:0 0 7px;color:#121a2b}.page-heading p{margin:0;color:var(--muted);font-size:14px}.heading-meta{display:flex;gap:9px;align-items:center;margin-bottom:11px}.btn{border:1px solid transparent;min-height:42px;padding:0 16px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.18s}.btn-primary{background:var(--accent);color:white;box-shadow:0 5px 14px rgba(198,43,54,.18)}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}.btn-secondary{background:var(--navy);color:white}.btn-ghost{background:white;border-color:var(--line);color:#4b5563}.btn-full{width:100%}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.kpi-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:0 2px 10px rgba(16,24,40,.02)}.kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi-top span{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#7b8493;font-weight:700}.kpi-top i{font-style:normal;width:32px;height:32px;border-radius:9px;background:#f4f6fa;display:grid;place-items:center;color:var(--navy)}.kpi-card strong{display:block;font-size:31px;line-height:1;margin:15px 0 7px;letter-spacing:-1px}.kpi-card small{font-size:11px;color:#9aa1ad}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2{font-size:15px;margin:0 0 4px}.panel-head p{font-size:11px;color:#9299a5;margin:0}.filterbar{display:flex;gap:10px;padding:16px 22px;border-bottom:1px solid var(--line);align-items:center}.search-field{height:42px;border:1px solid #dfe3e9;background:#fbfcfd;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 12px;flex:1;min-width:240px}.search-field span{color:#8a93a3;font-size:18px}.search-field input{border:0;outline:0;background:transparent;width:100%;font-size:12px}.filterbar select,.form-grid input,.form-grid select,.form-grid textarea,.auth-form input{border:1px solid #dfe3e9;background:#fff;border-radius:10px;outline:none;color:#202838;transition:.15s}.filterbar select{height:42px;padding:0 34px 0 12px;font-size:12px}.filterbar select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.auth-form input:focus{border-color:#8ea1cc;box-shadow:0 0 0 3px rgba(36,87,166,.08)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:920px}.data-table th{text-align:left;padding:12px 18px;background:#fafbfc;color:#7b8492;font-size:10px;text-transform:uppercase;letter-spacing:.7px;border-bottom:1px solid var(--line)}.data-table td{padding:15px 18px;border-bottom:1px solid #eef0f3;font-size:12px;vertical-align:middle}.data-table tbody tr{transition:.15s}.data-table tbody tr:hover{background:#fbfcfe}.ref-link{color:#214f9b;font-weight:800;font-variant-numeric:tabular-nums}.type-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:6px;font-size:10px;font-weight:700;background:#f1f3f6;color:#536071}.type-encomenda{background:#eef3fb;color:#34588d}.type-correio{background:#f5f1e9;color:#7c6334}.type-juridico{background:#f7ecee;color:#8f3840}.person-cell{display:flex;flex-direction:column;gap:3px}.person-cell strong{font-size:12px}.person-cell span{font-size:10px;color:#8d96a5}.date-main{font-variant-numeric:tabular-nums;color:#596273}.status{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:#f3f4f6;color:#5a6474;font-size:9.5px;font-weight:700;white-space:nowrap}.status i{width:6px;height:6px;border-radius:50%;background:#9ca3af}.status-entregue,.status-confirmado{background:#edf8f3;color:#267253}.status-entregue i,.status-confirmado i{background:#25a06e}.status-em_correio_interno,.status-transferida_9_14{background:#eef4fc;color:#355f99}.status-em_correio_interno i,.status-transferida_9_14 i{background:#4b78b8}.status-notificado_internal_mail{background:#fff5e9;color:#8d5f18}.status-notificado_internal_mail i{background:#d58b24}.row-action{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:#6a7485;background:white}.empty-state{padding:46px 20px;text-align:center;color:#8992a0;display:flex;align-items:center;flex-direction:column;gap:7px}.empty-state div{font-size:28px;color:#bbc1ca}.empty-state strong{color:#3d4757;font-size:13px}.empty-state span{font-size:11px}.mobile-cards{display:none}.flash-stack{display:grid;gap:8px;margin-bottom:18px}.flash{padding:12px 14px;border-radius:10px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.flash button{border:0;background:transparent;cursor:pointer}.flash-success{background:#edf8f3;color:#226848;border:1px solid #d4eee2}.flash-error{background:#fff0f1;color:#9c2832;border:1px solid #f3d4d8}.flash-info{background:#eff5fd;color:#315b92;border:1px solid #d7e6f8}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.form-panel{padding:25px}.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}.section-title>span{width:28px;height:28px;border-radius:8px;background:var(--navy);color:white;display:grid;place-items:center;font-size:10px;font-weight:700}.section-title h2{font-size:15px;margin:1px 0 4px}.section-title p{font-size:11px;color:#8a93a0;margin:0}.type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.type-option input{position:absolute;opacity:0}.type-option-inner{display:flex;flex-direction:column;gap:5px;border:1px solid #dfe3e9;border-radius:12px;padding:17px;cursor:pointer;transition:.16s;min-height:116px}.type-option-inner i{font-style:normal;font-size:22px;color:#6b7890}.type-option-inner b{font-size:12px;margin-top:4px}.type-option-inner small{font-size:10px;color:#9199a5}.type-option input:checked+.type-option-inner{border-color:#526b9f;background:#f7f9fd;box-shadow:0 0 0 2px rgba(36,87,166,.07)}.type-option input:checked+.type-option-inner i{color:var(--accent)}.section-divider{height:1px;background:var(--line);margin:28px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.auth-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#4b5563}.form-grid input,.form-grid select{height:44px;padding:0 12px}.form-grid textarea{padding:12px;resize:vertical}.form-grid .full{grid-column:1/-1}.form-aside{display:grid;gap:14px;position:sticky;top:96px}.summary-card{background:var(--navy);color:white;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.summary-card h3{font-size:16px;margin:0 0 18px}.summary-card ol{list-style:none;padding:0;margin:0;display:grid;gap:16px;counter-reset:steps}.summary-card li{position:relative;padding-left:30px;display:flex;flex-direction:column;gap:3px}.summary-card li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#20335f;display:grid;place-items:center;font-size:9px}.summary-card li b{font-size:11px}.summary-card li span{font-size:10px;color:#9eabc7;line-height:1.5}.sticky-actions{display:flex;gap:8px;background:white;border:1px solid var(--line);border-radius:14px;padding:10px}.sticky-actions .btn{flex:1}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;margin-bottom:20px}.detail-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:4px 22px 20px}.detail-fields>div{padding:18px 12px 18px 0;border-bottom:1px solid #eef0f3;display:flex;flex-direction:column;gap:7px}.detail-fields>div span{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#8b94a2;font-weight:700}.detail-fields>div strong{font-size:12px;color:#2a3443}.detail-fields .full{grid-column:1/-1}.action-panel{padding:22px}.action-panel h3{font-size:17px;margin:4px 0 8px}.action-panel p{font-size:11px;color:#818a99;line-height:1.6;margin:0 0 18px}.complete-box{padding:12px;border-radius:10px;background:#edf8f3;color:#287252;font-size:11px;font-weight:700;text-align:center}.timeline-panel{margin-bottom:40px}.timeline{padding:8px 22px 22px}.timeline-row{display:grid;grid-template-columns:18px 150px 1fr;gap:14px;min-height:74px;position:relative}.timeline-row:not(:last-child):before{content:"";position:absolute;left:6px;top:26px;bottom:-7px;width:1px;background:#dfe3e9}.timeline-dot{width:13px;height:13px;border:3px solid white;background:var(--accent);box-shadow:0 0 0 2px #e2e6ec;border-radius:50%;margin-top:8px;z-index:1}.timeline-time{font-size:10px;color:#8c95a3;padding-top:9px;font-variant-numeric:tabular-nums}.timeline-content{padding:7px 0 15px;display:flex;flex-direction:column;gap:4px}.timeline-content strong{font-size:12px}.timeline-content span{font-size:10px;color:#939ba7}.timeline-content p{font-size:11px;color:#687384;margin:3px 0 0}.task-list{display:flex;flex-direction:column}.task-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 32px;gap:14px;align-items:center;padding:15px 20px;border-bottom:1px solid #eef0f3;transition:.14s}.task-row:hover{background:#fbfcfe}.task-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:17px}.task-copy>div{display:flex;align-items:center;gap:8px}.task-copy strong{font-size:12px}.task-copy p{margin:4px 0 0;color:#8992a0;font-size:10px}.task-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.task-meta>span:first-child{font-size:9px;color:#9199a6}.error-page{text-align:center;padding:110px 20px}.error-page>span{font-size:72px;font-weight:800;color:#d5dae3}.error-page h1{font-size:24px;margin:10px 0}.error-page p{font-size:13px;color:#7c8594;margin:0 auto 20px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:white}.login-visual{background:linear-gradient(145deg,#08132f,#122653);color:white;padding:48px;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-180px;top:80px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.login-visual-inner{height:100%;min-height:560px;display:flex;flex-direction:column;position:relative;z-index:1}.visual-brand{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:1.6px;font-weight:800}.visual-copy{margin:auto 0;max-width:620px}.visual-copy h1{font-size:42px;line-height:1.08;letter-spacing:-1.4px;margin:14px 0 18px}.visual-copy p{font-size:14px;line-height:1.8;color:#aeb9d2;max-width:560px}.visual-footer{font-size:10px;color:#7889ad;letter-spacing:.5px}.login-panel{display:grid;place-items:center;padding:40px}.login-box{width:min(100%,390px)}.login-box h2{font-size:29px;letter-spacing:-.6px;margin:0 0 7px}.login-box>.muted{font-size:12px;color:#87909e;line-height:1.6;margin:0 0 24px}.auth-form{display:grid;gap:15px}.auth-form input{height:46px;padding:0 12px}.auth-form .btn{margin-top:4px;height:46px}.login-note{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:#8c95a2}.login-note span{color:#27a671;margin-right:6px}.demo-access{margin-top:20px;font-size:10px;color:#929aa7}.demo-access summary{cursor:pointer}.demo-access div{display:grid;gap:5px;margin-top:8px}.demo-access code{font-size:9px;background:#f5f6f8;padding:6px 8px;border-radius:6px}.mobile-login-brand{display:none}
.mobile-overlay{display:none}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.form-layout,.detail-grid{grid-template-columns:minmax(0,1fr) 280px}.detail-fields{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.sidebar{transform:translateX(-100%);transition:.22s;box-shadow:10px 0 35px rgba(0,0,0,.18)}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .mobile-overlay{display:block;position:fixed;inset:0;background:rgba(7,15,34,.48);z-index:29}.sidebar-close{display:block}.main-area{margin-left:0}.menu-toggle{display:block}.topbar{padding:0 18px;height:64px}.topbar-right .live-badge{display:none}.content-wrap{padding:24px 18px}.form-layout,.detail-grid{grid-template-columns:1fr}.form-aside{position:static}.summary-card{display:none}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:28px 20px}.mobile-login-brand{display:flex;align-items:center;gap:10px;margin-bottom:42px;font-size:12px;letter-spacing:1.4px}.mobile-login-brand span{width:34px;height:34px}.desktop-table{display:none}.mobile-cards{display:grid}.mobile-item-card{padding:15px 18px;border-bottom:1px solid var(--line);display:block}.mobile-card-top,.mobile-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-item-card>strong{display:block;font-size:13px;margin:13px 0 5px}.mobile-item-card>p{font-size:10px;color:#818b99;margin:0 0 13px}.mobile-card-bottom{font-size:9px;color:#9aa1ac}.mobile-card-bottom b{font-size:16px;color:#657083}.filterbar{flex-wrap:wrap}.search-field{flex-basis:100%}.filterbar select{flex:1}.type-selector{grid-template-columns:1fr 1fr 1fr}.task-row{grid-template-columns:44px 1fr 28px}.task-meta{grid-column:2/3;align-items:flex-start;flex-direction:row}.task-row>.row-action{grid-row:1/3;grid-column:3}.timeline-row{grid-template-columns:18px 1fr}.timeline-time{grid-column:2}.timeline-content{grid-column:2;padding-top:0;margin-top:-27px;padding-left:125px}}
@media(max-width:600px){.top-user{display:none}.breadcrumb{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}.page-heading .btn{width:100%}.page-heading h1{font-size:25px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi-card{padding:16px}.kpi-card strong{font-size:25px}.kpi-card small{display:none}.kpi-top span{font-size:9px}.filterbar{padding:13px}.filterbar select,.filterbar>.btn{width:100%;flex:none}.panel-head{padding:17px}.type-selector{grid-template-columns:1fr}.type-option-inner{min-height:auto}.form-panel{padding:18px}.form-grid{grid-template-columns:1fr}.detail-fields{grid-template-columns:1fr;padding:4px 18px 15px}.timeline{padding:8px 18px 18px}.timeline-row{grid-template-columns:18px 1fr}.timeline-time{grid-column:2;padding-top:6px}.timeline-content{grid-column:2;margin-top:0;padding-left:0;padding-top:0}.task-row{padding:14px}.login-panel{place-items:start center;padding-top:25px}.login-box h2{font-size:27px}}

/* --- Extensões da versão corrigida --- */
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nav-label-admin{margin-top:28px}
.logout-link{margin-left:auto;color:#dce5f8;font-size:13px;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.06);font-weight:700;transition:.15s}
.logout-link:hover{background:rgba(255,255,255,.12);color:#fff}
.logout-text{font-size:11px}
.partner-chip{margin-left:5px;background:#fff7ed;color:#9a5418;border-color:#f2d8bd}
.location-text{font-size:11px;color:#596579;font-weight:600}
.status-deleted{background:#fff0f1;color:#a72b37;border-color:#f2d0d5}
.status-deleted i{background:#c93c4a}
.deleted-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin-bottom:18px;border:1px solid #f0cbd0;background:#fff6f7;border-radius:12px}
.deleted-banner>div{display:flex;flex-direction:column;gap:4px}.deleted-banner strong{font-size:12px;color:#962b35}.deleted-banner span{font-size:11px;color:#8e5f64}
.deleted-complete{background:#fff1f2;color:#9f2835}
.admin-panel{margin-top:20px;margin-bottom:40px}.danger-zone{border-color:#efd3d6}.danger-zone .panel-head{background:#fffafb}.danger-content{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;padding:22px}.danger-copy strong{font-size:13px;color:#8f2631}.danger-copy p{font-size:11px;line-height:1.65;color:#7b6670;margin:7px 0 0}.delete-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.delete-form label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;color:#666f7d}.delete-form input{height:42px;border:1px solid #e6c8cc;border-radius:10px;padding:0 12px;outline:none;background:white}.delete-form input:focus{border-color:#c86771;box-shadow:0 0 0 3px rgba(180,55,69,.08)}
.btn-danger{background:#a72b37;color:white;border-color:#a72b37}.btn-danger:hover{background:#8f2330}.btn-small{min-height:34px;padding:0 11px;font-size:10px}.mobile-deleted-card{color:inherit}
@media(max-width:860px){.danger-content{grid-template-columns:1fr}.delete-form{grid-template-columns:1fr}.deleted-banner{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-heading .page-actions .btn{width:auto}}
@media(max-width:600px){.page-actions{display:grid;grid-template-columns:1fr}.page-heading .page-actions .btn{width:100%}.logout-text{display:inline}.danger-content{padding:18px}}

/* Gestão de utilizadores */
.user-list-person{display:flex;align-items:center;gap:10px}.user-list-avatar{width:32px;height:32px;border-radius:50%;background:#eef2f8;color:var(--navy);display:grid;place-items:center;font-size:11px;font-weight:800}.role-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:800;background:#f1f3f6;color:#536071}.role-admin{background:#f7ecee;color:#8f3840}.role-rececao{background:#eef3fb;color:#34588d}.role-internal_mail{background:#eef7f4;color:#2f735e}.user-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.two-cols{grid-template-columns:1fr 1fr}.permission-preview{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.permission-preview>strong{font-size:12px}.permission-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.permission-cards>div{border:1px solid var(--line);background:#fafbfc;border-radius:10px;padding:13px;display:flex;flex-direction:column;gap:5px}.permission-cards b{font-size:11px}.permission-cards span{font-size:10px;line-height:1.5;color:#818b99}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.account-side-panel{padding:22px;position:sticky;top:96px}.account-summary{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 0 22px;border-bottom:1px solid var(--line);margin-bottom:20px}.profile-avatar-large{width:66px;height:66px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center;font-size:24px;font-weight:800;margin-bottom:12px}.account-summary strong{font-size:14px}.account-summary span{font-size:11px;color:#6f7887;margin-top:4px}.account-summary small{font-size:9.5px;color:#9aa1ad;margin-top:8px}.password-reset-box{display:grid;gap:12px;margin-bottom:12px}.password-reset-box h3{font-size:12px;margin:0}.password-reset-box label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;color:#4b5563}.password-reset-box input{height:42px;border:1px solid #dfe3e9;border-radius:10px;padding:0 12px;outline:none}.password-reset-box input:focus{border-color:#8ea1cc;box-shadow:0 0 0 3px rgba(36,87,166,.08)}
@media(max-width:900px){.user-admin-grid{grid-template-columns:1fr}.account-side-panel{position:static}.permission-cards{grid-template-columns:1fr}.two-cols{grid-template-columns:1fr}}
.profile-page-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}.profile-card-large{padding:30px;text-align:center}.profile-card-large h2{font-size:20px;margin:10px 0 4px}.profile-card-large>p{font-size:12px;color:#7c8594;margin:0 0 12px}.profile-facts{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:12px;text-align:left}.profile-facts>div{display:flex;justify-content:space-between;gap:20px}.profile-facts span{font-size:10px;color:#8e97a4}.profile-facts strong{font-size:10px}.one-col{grid-template-columns:1fr}@media(max-width:800px){.profile-page-grid{grid-template-columns:1fr}}
/* =========================================================
   LOGIN PLMJ
========================================================= */

.login-page {
    margin: 0;
    min-height: 100vh;
    background: #fff;
    overflow-x: hidden;
}

.login-page * {
    box-sizing: border-box;
}

.login-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
}


/* =========================================================
   LEFT PANEL
========================================================= */

.login-brand-panel {
    position: relative;
    min-height: 100vh;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 96% 45%,
            rgba(52, 101, 176, .20) 0%,
            rgba(52, 101, 176, .12) 23%,
            transparent 48%
        ),
        linear-gradient(
            145deg,
            #061633 0%,
            #071d42 48%,
            #0d2b63 100%
        );

    color: #fff;
}

.login-brand-panel::before {
    content: "";

    position: absolute;
    width: 700px;
    height: 700px;

    right: -330px;
    top: 30px;

    border-radius: 50%;

    border: 54px solid rgba(100, 147, 212, .08);

    box-shadow:
        0 0 0 68px rgba(100, 147, 212, .045);

    pointer-events: none;
}

.login-brand-panel::after {
    content: "";

    position: absolute;
    width: 560px;
    height: 560px;

    right: -250px;
    top: 102px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,.055);

    pointer-events: none;
}

.login-brand-inner {
    position: relative;
    z-index: 2;

    min-height: 100vh;

    display: flex;
    flex-direction: column;

    padding:
        76px
        68px
        52px;
}


/* LOGO */

.login-brand-logo img {
    display: block;

    width: 310px;
    max-width: 70%;

    height: auto;

    object-fit: contain;
}


/* COPY */

.login-brand-copy {
    width: min(670px, 92%);

    margin-top: auto;
    margin-bottom: 60px;
}

.login-kicker {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 24px;

    color: #fff;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .18em;

    text-transform: uppercase;
}

.login-kicker-line {
    width: 45px;
    height: 3px;

    border-radius: 99px;

    background: #ec2634;
}

.login-brand-copy h1 {
    max-width: 690px;

    margin: 0 0 22px;

    color: #fff;

    font-size: clamp(37px, 3.2vw, 54px);

    line-height: 1.08;

    letter-spacing: -.04em;

    font-weight: 800;
}

.login-brand-copy > p {
    max-width: 650px;

    margin: 0;

    color: #c6d4e7;

    font-size: 15px;

    line-height: 1.7;
}


/* FEATURES */

.login-features {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0,1fr));

    gap: 34px;

    width: min(660px, 100%);

    margin-top: 45px;
}

.login-feature-icon {
    width: 64px;
    height: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 17px;

    border:
        1px solid
        rgba(180, 205, 240, .28);

    border-radius: 12px;

    background:
        rgba(255,255,255,.025);

    color: #fff;
}

.login-feature-icon svg {
    width: 30px;
    height: 30px;
}

.login-feature strong {
    display: block;

    margin-bottom: 7px;

    color: #fff;

    font-size: 14px;
}

.login-feature span {
    display: block;

    color: #b8c7db;

    font-size: 12px;

    line-height: 1.55;
}

.login-brand-footer {
    margin-top: auto;

    color: #9cacc6;

    font-size: 10px;
}


/* =========================================================
   RIGHT PANEL
========================================================= */

.login-auth-panel {
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding:
        55px
        58px;

    background:
        #fdfdfd;
}

.login-auth-wrap {
    width: 100%;
    max-width: 470px;
}


/* CARD */

.login-auth-card {
    width: 100%;

    padding:
        38px
        38px
        34px;

    border:
        1px solid #e1e6ec;

    border-radius: 18px;

    background:
        rgba(255,255,255,.99);

    box-shadow:
        0 28px 65px rgba(14,35,70,.12),
        0 6px 18px rgba(14,35,70,.07);
}


/* HEADER */

.login-auth-eyebrow {
    color: #db2430;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .13em;

    text-transform: uppercase;
}

.login-auth-redline {
    width: 42px;
    height: 3px;

    margin:
        13px 0
        22px;

    border-radius: 99px;

    background: #e12835;
}

.login-auth-card h2 {
    margin:
        0 0 10px;

    color: #091a3b;

    font-size: 37px;

    line-height: 1.08;

    letter-spacing: -.035em;

    font-weight: 800;
}

.login-auth-description {
    margin:
        0 0
        29px;

    color: #718096;

    font-size: 13px;

    line-height: 1.55;
}


/* FORM */

.login-form {
    display: flex;
    flex-direction: column;

    gap: 19px;
}

.login-field > span {
    display: block;

    margin-bottom: 8px;

    color: #182235;

    font-size: 11px;

    font-weight: 700;
}

.login-input-wrap {
    height: 58px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding:
        0 16px;

    border:
        1px solid #d9e0e8;

    border-radius: 8px;

    background: #fff;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.login-input-wrap:focus-within {
    border-color: #39719c;

    box-shadow:
        0 0 0 3px
        rgba(57,113,156,.10);
}

.login-field-icon {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #345276;
}

.login-field-icon svg {
    width: 21px;
    height: 21px;
}

.login-input-wrap input {
    flex: 1;

    min-width: 0;

    height: 100%;

    padding: 0;

    border: 0;

    outline: none;

    background: transparent;

    color: #172033;

    font-size: 13px;
}

.login-input-wrap input::placeholder {
    color: #9aa7b6;
}


/* PASSWORD */

.login-password-toggle {
    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;

    background: transparent;

    color: #7a8797;

    cursor: pointer;
}

.login-password-toggle svg {
    width: 19px;
    height: 19px;
}


/* BUTTON */

.login-submit {
    width: 100%;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    margin-top: 3px;

    border: 0;

    border-radius: 8px;

    background:
        linear-gradient(
            135deg,
            #df2734,
            #d91e2c
        );

    color: #fff;

    box-shadow:
        0 12px 26px rgba(217,30,44,.23);

    font-size: 13px;
    font-weight: 800;

    cursor: pointer;

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.login-submit:hover {
    transform: translateY(-1px);

    box-shadow:
        0 14px 30px rgba(217,30,44,.28);
}

.login-submit span {
    font-size: 19px;
}


/* OR */

.login-or {
    display: flex;
    align-items: center;

    gap: 13px;

    margin:
        25px 0
        22px;

    color: #8694a6;

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
}

.login-or::before,
.login-or::after {
    content: "";

    flex: 1;

    height: 1px;

    background: #e0e6ed;
}


/* AUTHORIZED */

.login-authorized {
    display: flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 21px;

    color: #64748b;

    font-size: 11px;
}

.login-authorized-dot {
    width: 10px;
    height: 10px;

    flex: 0 0 10px;

    border-radius: 50%;

    background: #1db954;
}


/* DEMO */

.login-demo {
    border: 0;
}

.login-demo summary {
    display: flex;
    align-items: center;

    gap: 9px;

    color: #172033;

    font-size: 11px;
    font-weight: 700;

    cursor: pointer;

    list-style: none;
}

.login-demo summary::-webkit-details-marker {
    display: none;
}

.login-demo summary::before {
    content: "▶";

    color: #29476d;

    font-size: 9px;

    transition:
        transform .2s ease;
}

.login-demo[open] summary::before {
    transform: rotate(90deg);
}

.login-demo-content {
    display: flex;
    flex-direction: column;

    gap: 6px;

    margin-top: 12px;

    padding: 12px;

    border-radius: 8px;

    background: #f7f9fb;
}

.login-demo-content code {
    color: #58677a;

    font-size: 9px;
}


/* BOTTOM LOGO */

.login-bottom-logo {
    display: flex;
    justify-content: center;

    margin-top: 33px;
}

.login-bottom-logo img {
    width: 205px;
    height: auto;

    object-fit: contain;
}


/* MOBILE LOGO */

.login-mobile-logo {
    display: none;

    margin-bottom: 28px;
}

.login-mobile-logo img {
    width: 180px;
    height: auto;
}


/* =========================================================
   FLASH
========================================================= */

.login-auth-card .flash {
    margin:
        0 0
        18px;

    padding:
        11px 13px;

    border-radius: 8px;

    font-size: 11px;
}

.login-auth-card .flash-error {
    color: #991b1b;

    background: #fef2f2;

    border: 1px solid #fecaca;
}

.login-auth-card .flash-success {
    color: #166534;

    background: #f0fdf4;

    border: 1px solid #bbf7d0;
}

.login-auth-card .flash-info {
    color: #075985;

    background: #f0f9ff;

    border: 1px solid #bae6fd;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {

    .login-shell {
        grid-template-columns:
            1.05fr
            .95fr;
    }

    .login-brand-inner {
        padding:
            56px
            48px
            42px;
    }

    .login-brand-logo img {
        width: 275px;
    }

    .login-brand-copy h1 {
        font-size: 41px;
    }

    .login-features {
        gap: 22px;
    }

    .login-auth-panel {
        padding:
            40px
            38px;
    }
}


@media (max-width: 950px) {

    .login-shell {
        display: block;
    }

    .login-brand-panel {
        display: none;
    }

    .login-auth-panel {
        min-height: 100vh;

        padding:
            30px
            18px;

        background:
            linear-gradient(
                180deg,
                #f5f7fa,
                #ffffff
            );
    }

    .login-mobile-logo {
        display: block;
    }

    .login-bottom-logo {
        display: none;
    }

    .login-auth-card {
        max-width: 520px;

        margin: 0 auto;

        padding:
            34px
            30px;
    }
}


@media (max-width: 520px) {

    .login-auth-panel {
        padding:
            18px
            12px;
    }

    .login-auth-card {
        padding:
            28px
            20px;

        border-radius: 14px;
    }

    .login-auth-card h2 {
        font-size: 31px;
    }

    .login-input-wrap {
        height: 55px;
    }

    .login-submit {
        height: 56px;
    }

    .login-mobile-logo img {
        width: 150px;
    }
}
/* =========================================================
   CORREÇÃO FULL SCREEN - LOGIN PLMJ
   COLOCAR NO FINAL ABSOLUTO DO app.css
========================================================= */

html,
body {
    width: 100%;
    min-width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
}

body.login-page {
    display: block !important;

    width: 100vw !important;
    max-width: none !important;
    min-height: 100vh !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow-x: hidden;
}


/* CONTAINER PRINCIPAL */

.login-shell {
    position: relative;

    display: grid !important;

    grid-template-columns:
        minmax(0, 57%)
        minmax(0, 43%) !important;

    width: 100vw !important;
    max-width: none !important;

    min-height: 100vh !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* LADO AZUL */

.login-brand-panel {
    width: 100% !important;
    max-width: none !important;

    min-height: 100vh !important;

    margin: 0 !important;
}


/* LADO BRANCO */

.login-auth-panel {
    width: 100% !important;
    max-width: none !important;

    min-height: 100vh !important;

    margin: 0 !important;
}


/* CONTEÚDO DIREITO */

.login-auth-wrap {
    width: 100%;

    max-width: 470px;

    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 900px) {

    html,
    body,
    body.login-page {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow-x: hidden !important;

        background: #ffffff !important;
    }

    /* =====================================================
       LAYOUT MOBILE
    ====================================================== */

    .login-shell {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        min-height: 100vh !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* =====================================================
       PARTE AZUL
    ====================================================== */

    .login-brand-panel {
        display: block !important;

        width: 100% !important;
        min-height: auto !important;

        margin: 0 !important;

        background:
            radial-gradient(
                circle at 95% 30%,
                rgba(52,101,176,.20) 0%,
                rgba(52,101,176,.10) 28%,
                transparent 55%
            ),
            linear-gradient(
                145deg,
                #061633 0%,
                #071d42 52%,
                #0d2b63 100%
            ) !important;
    }

    .login-brand-inner {
        min-height: auto !important;

        padding:
            36px
            24px
            34px !important;
    }

    .login-brand-logo img {
        width: 190px !important;
        max-width: 70% !important;
    }

    .login-brand-copy {
        width: 100% !important;

        margin-top: 55px !important;
        margin-bottom: 0 !important;
    }

    .login-kicker {
        margin-bottom: 18px !important;

        font-size: 9px !important;
    }

    .login-kicker-line {
        width: 35px !important;
    }

    .login-brand-copy h1 {
        max-width: 100% !important;

        margin-bottom: 16px !important;

        font-size: 32px !important;
        line-height: 1.08 !important;
    }

    .login-brand-copy > p {
        max-width: 100% !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    /* =====================================================
       BENEFÍCIOS
    ====================================================== */

    .login-features {
        grid-template-columns:
            repeat(3, minmax(0,1fr)) !important;

        gap: 12px !important;

        width: 100% !important;

        margin-top: 30px !important;
    }

    .login-feature-icon {
        width: 45px !important;
        height: 45px !important;

        margin-bottom: 10px !important;
    }

    .login-feature-icon svg {
        width: 22px !important;
        height: 22px !important;
    }

    .login-feature strong {
        font-size: 11px !important;
    }

    .login-feature span {
        font-size: 9px !important;
        line-height: 1.45 !important;
    }

    .login-brand-footer {
        margin-top: 30px !important;

        font-size: 8px !important;
    }

    /* =====================================================
       PARTE BRANCA
    ====================================================== */

    .login-auth-panel {
        width: 100% !important;
        min-height: auto !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        padding:
            28px
            18px
            36px !important;

        background: #ffffff !important;
    }

    .login-auth-wrap {
        width: 100% !important;
        max-width: 500px !important;

        margin: 0 auto !important;
    }

    /* No mobile já temos o logo branco em cima,
       por isso escondemos o logo preto dentro do card */

    .login-mobile-logo {
        display: none !important;
    }

    .login-bottom-logo {
        display: flex !important;

        justify-content: center !important;

        margin-top: 28px !important;
    }

    .login-bottom-logo img {
        width: 170px !important;
    }
}


/* PLMJ - ações em lote e destinatários */
.batch-actions{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#f8fafc;border:1px solid var(--line);border-radius:12px;margin:0 0 16px}.batch-actions small{color:var(--muted);font-size:11px}.data-table input[type="checkbox"]{width:16px;height:16px;accent-color:var(--navy)}
@media(max-width:700px){.batch-actions{align-items:stretch;flex-direction:column}.batch-actions .btn{width:100%}}


/* ==========================================================
   TICKETS / SUGESTÕES
========================================================== */
.ticket-nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;line-height:1}
.ticket-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.ticket-stat{padding:18px}.ticket-stat span{display:block;color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.ticket-stat strong{display:block;margin-top:6px;font-size:26px;color:#172033}.ticket-new-row td{background:#fffaf5}.ticket-unread-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;display:inline-block;margin-right:7px}.ticket-subject{display:flex;align-items:center;gap:6px}.ticket-meta-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#64748b;font-size:11px}.ticket-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#475569;font-size:10px;font-weight:800}.ticket-pill.urgent{background:#fee2e2;color:#991b1b}.ticket-pill.high{background:#ffedd5;color:#9a3412}.ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.ticket-thread{padding:20px}.ticket-message{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid #edf1f5}.ticket-message:last-child{border-bottom:0}.ticket-avatar{width:36px;height:36px;border-radius:50%;background:#0b1739;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 36px}.ticket-message-body{min-width:0;flex:1}.ticket-message-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.ticket-message-head strong{color:#172033;font-size:12px}.ticket-message-head span{color:#94a3b8;font-size:10px}.ticket-message-text{white-space:pre-wrap;color:#334155;font-size:12px;line-height:1.65}.ticket-attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ticket-attachment{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #dbe3ec;border-radius:8px;background:#f8fafc;color:#334155;text-decoration:none;font-size:10px;font-weight:700}.ticket-compose{margin-top:16px;padding-top:16px;border-top:1px solid #e5eaf0}.ticket-compose textarea{min-height:120px}.ticket-side .panel{margin-bottom:14px}.ticket-side-list{display:grid;gap:12px;padding:18px}.ticket-side-item span{display:block;color:#94a3b8;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.ticket-side-item strong{color:#172033;font-size:12px}.ticket-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ticket-form-grid .full{grid-column:1/-1}.ticket-form-grid textarea{min-height:180px}.ticket-empty{padding:40px;text-align:center;color:#64748b}
@media(max-width:900px){.ticket-stats{grid-template-columns:repeat(2,1fr)}.ticket-layout{grid-template-columns:1fr}.ticket-side{order:-1}.ticket-form-grid{grid-template-columns:1fr}.ticket-form-grid .full{grid-column:auto}}
@media(max-width:560px){.ticket-stats{grid-template-columns:1fr 1fr;gap:8px}.ticket-stat{padding:14px}.ticket-stat strong{font-size:21px}.ticket-message-head{display:block}.ticket-message-head span{display:block;margin-top:3px}}

/* =========================================================
   SIDEBAR MAIS COMPACTA
   ========================================================= */

.sidebar{
  padding:18px 14px;
}

.brand{
  height:56px;
  padding:0 6px 14px;
}

.nav-main{
  padding-top:18px;
  gap:3px;
}

.nav-label{
  font-size:9px;
  letter-spacing:1.2px;
  padding:0 10px 5px;
}

.nav-label-admin{
  margin-top:18px;
}

.nav-link{
  height:39px;
  padding:0 10px;
  gap:9px;
  font-size:12px;
  border-radius:9px;
}

.nav-icon{
  width:20px;
  font-size:15px;
}

.sidebar-footer{
  margin-top:auto;
}

.secure-box{
  padding:9px;
  margin-bottom:8px;
}

.user-card{
  padding:9px 5px 0;
}

.user-meta strong{
  font-size:11px;
}

.user-meta span{
  font-size:9px;
}

.logout-link{
  padding:6px 8px;
}

/* Badge de notificações dos tickets */
.ticket-nav-badge{
  margin-left:auto;
  min-width:20px;
  height:20px;
  padding:0 6px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border-radius:999px;

  background:#c62b36;
  color:#fff;

  font-size:9px;
  font-weight:800;
}

/* =========================================================
   NOVO TICKET · PREMIUM FORM
========================================================= */

.ticket-create-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:22px;
  align-items:start;
}

.ticket-create-main{
  min-width:0;
}

.ticket-create-panel{
  padding:28px;
  margin-bottom:20px;
}

.ticket-section-header{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding-bottom:22px;
  margin-bottom:24px;
  border-bottom:1px solid #e8edf3;
}

.ticket-section-number{
  width:34px;
  height:34px;
  flex:0 0 34px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#0b1739;
  color:#fff;

  border-radius:9px;

  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.ticket-section-header h2{
  margin:0 0 4px;
  font-size:16px;
  color:#172033;
}

.ticket-section-header p{
  margin:0;
  color:#7b8798;
  font-size:11px;
  line-height:1.6;
}


/* BLOCO DE CAMPO */

.ticket-field-block{
  margin-bottom:28px;
}

.ticket-field-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}

.ticket-field-heading strong{
  display:block;
  margin-bottom:3px;
  color:#172033;
  font-size:12px;
}

.ticket-field-heading span:not(.ticket-required){
  display:block;
  color:#8390a2;
  font-size:10px;
}

.ticket-required{
  color:#c62b36;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}


/* TIPO */

.ticket-type-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.ticket-option-card{
  position:relative;

  display:flex;
  align-items:flex-start;
  gap:12px;

  min-height:88px;

  padding:16px;

  border:1px solid #dfe5ec;
  border-radius:12px;

  background:#fff;

  cursor:pointer;

  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    background .18s ease;
}

.ticket-option-card:hover{
  border-color:#aebbd0;
  box-shadow:0 7px 20px rgba(11,23,57,.06);
  transform:translateY(-1px);
}

.ticket-option-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.ticket-option-card:has(input:checked){
  border-color:#0b1739;
  background:#f7f9fc;
  box-shadow:0 0 0 2px rgba(11,23,57,.06);
}

.ticket-option-indicator{
  position:absolute;
  top:12px;
  right:12px;

  width:16px;
  height:16px;

  border:1.5px solid #cbd5e1;
  border-radius:50%;

  background:#fff;
}

.ticket-option-card:has(input:checked)
.ticket-option-indicator{
  border-color:#0b1739;
  box-shadow:inset 0 0 0 4px #fff;
  background:#0b1739;
}

.ticket-option-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:9px;

  background:#eef3f8;
  color:#0b1739;

  font-size:16px;
  font-weight:800;
}

.ticket-option-content{
  padding-right:16px;
}

.ticket-option-content strong{
  display:block;
  margin-bottom:5px;
  color:#172033;
  font-size:11px;
}

.ticket-option-content small{
  display:block;
  color:#7f8a99;
  font-size:9px;
  line-height:1.5;
}


/* PRIORIDADE */

.ticket-priority-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.ticket-priority-option{
  position:relative;
  cursor:pointer;
}

.ticket-priority-option input{
  position:absolute;
  opacity:0;
}

.ticket-priority-content{
  display:flex;
  gap:9px;
  align-items:flex-start;

  min-height:72px;

  padding:12px;

  border:1px solid #e0e6ed;
  border-radius:10px;

  background:#fff;

  transition:.18s ease;
}

.ticket-priority-option:hover
.ticket-priority-content{
  border-color:#b8c4d2;
}

.ticket-priority-option input:checked
+ .ticket-priority-content{
  border-color:#0b1739;
  background:#f8fafc;
  box-shadow:0 0 0 2px rgba(11,23,57,.05);
}

.ticket-priority-content strong{
  display:block;
  margin-bottom:3px;
  color:#172033;
  font-size:10px;
}

.ticket-priority-content small{
  display:block;
  color:#8b96a5;
  font-size:8px;
  line-height:1.4;
}

.ticket-priority-dot{
  width:8px;
  height:8px;
  flex:0 0 8px;
  margin-top:4px;
  border-radius:50%;
  background:#94a3b8;
}

.ticket-priority-dot-baixa{
  background:#94a3b8;
}

.ticket-priority-dot-normal{
  background:#39719c;
}

.ticket-priority-dot-alta{
  background:#d97706;
}

.ticket-priority-dot-urgente{
  background:#c62b36;
}


/* INPUTS */

.ticket-modern-label{
  display:block;
}

.ticket-label-top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:8px;
}

.ticket-label-top > span{
  color:#172033;
  font-size:11px;
  font-weight:700;
}

.ticket-label-top small{
  color:#97a2b1;
  font-size:9px;
}

.ticket-input-shell{
  display:flex;
  align-items:center;

  min-height:48px;

  border:1px solid #dce3eb;
  border-radius:10px;

  background:#fff;

  overflow:hidden;

  transition:.18s ease;
}

.ticket-input-shell:focus-within{
  border-color:#0b1739;
  box-shadow:0 0 0 3px rgba(11,23,57,.05);
}

.ticket-input-icon{
  width:44px;
  align-self:stretch;

  display:flex;
  align-items:center;
  justify-content:center;

  border-right:1px solid #edf0f3;

  background:#f8fafc;

  color:#7c8999;

  font-size:13px;
  font-weight:800;
}

.ticket-input-shell input{
  width:100%;
  min-width:0;

  padding:0 14px;

  border:0;
  outline:0;

  background:transparent;

  color:#172033;
  font-size:12px;
}

.ticket-input-shell input::placeholder{
  color:#a6b0bd;
}


/* TEXTAREA */

.ticket-textarea-shell{
  border:1px solid #dce3eb;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.ticket-textarea-shell:focus-within{
  border-color:#0b1739;
  box-shadow:0 0 0 3px rgba(11,23,57,.05);
}

.ticket-textarea-shell textarea{
  display:block;
  width:100%;
  min-height:210px;

  padding:16px;

  border:0;
  outline:0;
  resize:vertical;

  background:transparent;

  color:#172033;

  font-family:inherit;
  font-size:12px;
  line-height:1.7;
}

.ticket-textarea-shell textarea::placeholder{
  color:#a4adba;
}

.ticket-field-help{
  display:block;
  margin-top:7px;

  color:#909baa;

  font-size:9px;
}


/* UPLOAD */

.ticket-upload-zone{
  position:relative;

  display:flex;
  align-items:center;
  gap:15px;

  min-height:100px;

  padding:18px;

  border:1px dashed #bbc7d4;
  border-radius:12px;

  background:#fafbfd;

  cursor:pointer;

  transition:.18s ease;
}

.ticket-upload-zone:hover{
  border-color:#39719c;
  background:#f7fafc;
}

.ticket-upload-zone input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}

.ticket-upload-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:10px;

  background:#eaf1f7;
  color:#39719c;
}

.ticket-upload-icon svg{
  width:20px;
  height:20px;
}

.ticket-upload-copy strong{
  display:block;
  margin-bottom:4px;
  color:#172033;
  font-size:11px;
}

.ticket-upload-copy span{
  display:block;
  margin-bottom:4px;
  color:#64748b;
  font-size:10px;
}

.ticket-upload-copy small{
  display:block;
  color:#98a3b2;
  font-size:9px;
}


/* SIDEBAR */

.ticket-create-sidebar{
  display:grid;
  gap:16px;
  position:sticky;
  top:84px;
}

.ticket-help-card{
  padding:22px;
}

.ticket-help-eyebrow{
  display:block;

  margin-bottom:9px;

  color:#c62b36;

  font-size:8px;
  font-weight:800;
  letter-spacing:.15em;
}

.ticket-help-card h3{
  margin:0 0 20px;

  color:#172033;

  font-size:15px;
}

.ticket-help-step{
  display:flex;
  gap:11px;

  position:relative;

  padding:0 0 18px;
}

.ticket-help-step:last-child{
  padding-bottom:0;
}

.ticket-help-step > span{
  width:24px;
  height:24px;
  flex:0 0 24px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#0b1739;
  color:#fff;

  font-size:8px;
  font-weight:800;
}

.ticket-help-step strong{
  display:block;
  margin-bottom:3px;
  color:#172033;
  font-size:10px;
}

.ticket-help-step small{
  display:block;
  color:#8490a0;
  font-size:9px;
  line-height:1.5;
}

.ticket-info-card{
  display:flex;
  gap:12px;
  padding:18px;
}

.ticket-info-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#eef3f8;
  color:#39719c;

  font-size:11px;
  font-weight:800;
}

.ticket-info-card strong{
  display:block;
  margin-bottom:4px;
  color:#172033;
  font-size:10px;
}

.ticket-info-card p{
  margin:0;
  color:#7c8796;
  font-size:9px;
  line-height:1.6;
}


/* AÇÕES */

.ticket-create-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;

  padding:2px 0 20px;
}

.ticket-submit-btn{
  min-width:190px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}


/* RESPONSIVO */

@media (max-width:1100px){

  .ticket-create-layout{
    grid-template-columns:1fr;
  }

  .ticket-create-sidebar{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}

@media (max-width:760px){

  .ticket-create-panel{
    padding:18px;
  }

  .ticket-type-grid{
    grid-template-columns:1fr;
  }

  .ticket-priority-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ticket-create-sidebar{
    grid-template-columns:1fr;
  }

  .ticket-create-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }

  .ticket-create-actions .btn,
  .ticket-submit-btn{
    width:100%;
  }

}

/* =========================================================
   TICKET DETALHE · CORPORATE
========================================================= */

.ticket-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:24px;
  align-items:start;
}

.ticket-thread-panel{
  padding:28px;
}

.ticket-thread{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-top:18px;
}

.ticket-message-card{
  display:flex;
  gap:16px;
  position:relative;
}

.ticket-message-card:not(:last-child)::after{
  content:"";
  position:absolute;
  left:20px;
  top:48px;
  bottom:-18px;
  width:2px;
  background:#e8edf3;
}

.ticket-message-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:#0b1739;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:15px;
}

.ticket-message-content{
  flex:1;
  border:1px solid #e5ebf1;
  border-radius:14px;
  background:#fff;
  padding:16px;
}

.ticket-message-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}

.ticket-message-top strong{
  display:block;
  color:#172033;
  font-size:13px;
}

.ticket-message-top small{
  color:#8b96a5;
  font-size:10px;
}

.ticket-message-text{
  white-space:pre-wrap;
  color:#334155;
  line-height:1.75;
  font-size:13px;
}

.ticket-files{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.ticket-file-card{
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid #e4eaf0;
  border-radius:10px;
  background:#fafbfd;
  text-decoration:none;
  transition:.18s ease;
}

.ticket-file-card:hover{
  border-color:#0b1739;
  background:#f7f9fc;
}

.ticket-file-icon{
  width:38px;
  height:38px;
  border-radius:9px;
  background:#eef3f8;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ticket-file-card strong{
  display:block;
  color:#172033;
  font-size:11px;
}

.ticket-file-card small{
  display:block;
  color:#94a3b8;
  font-size:9px;
}

.ticket-reply-box{
  margin-top:28px;
  padding-top:28px;
  border-top:1px solid #e8edf3;
}

.ticket-detail-sidebar{
  display:grid;
  gap:18px;
  position:sticky;
  top:84px;
}

.ticket-info-panel,
.ticket-status-panel{
  padding:22px;
}

.ticket-info-list{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.ticket-info-row{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.ticket-info-row span{
  color:#94a3b8;
  font-size:10px;
}

.ticket-info-row strong{
  color:#172033;
  font-size:12px;
}

.ticket-select-shell{
  border:1px solid #dce3eb;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}

.ticket-select-shell select{
  width:100%;
  height:48px;
  border:0;
  outline:0;
  padding:0 14px;
  background:transparent;
  font-size:12px;
}

.ticket-notification-card{
  display:flex;
  gap:12px;
  padding:18px;
}

.ticket-notification-card strong{
  display:block;
  margin-bottom:5px;
  color:#172033;
  font-size:11px;
}

.ticket-notification-card p{
  margin:0;
  color:#7c8796;
  font-size:10px;
  line-height:1.6;
}

.ticket-header-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

@media(max-width:1100px){

.ticket-detail-layout{
grid-template-columns:1fr;
}

.ticket-detail-sidebar{
position:static;
grid-template-columns:repeat(2,minmax(0,1fr));
}

}

@media(max-width:760px){

.ticket-thread-panel{
padding:18px;
}

.ticket-detail-sidebar{
grid-template-columns:1fr;
}

.ticket-message-card{
gap:12px;
}

.ticket-message-avatar{
width:36px;
height:36px;
flex:0 0 36px;
}

.ticket-message-card:not(:last-child)::after{
left:17px;
}

}

/* =========================================================
   TICKETS · AÇÕES DA LISTAGEM
========================================================= */

.ticket-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}

.ticket-delete-form{
  margin:0;
  padding:0;
}

.ticket-delete-btn{
  width:32px;
  height:32px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:0;

  border:1px solid #f1c9cd;
  border-radius:8px;

  background:#fff;

  color:#c62b36;

  cursor:pointer;

  transition:
    background .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .18s ease;
}

.ticket-delete-btn svg{
  width:15px;
  height:15px;
}

.ticket-delete-btn:hover{
  background:#c62b36;
  border-color:#c62b36;
  color:#fff;

  transform:translateY(-1px);
}

.ticket-delete-btn:active{
  transform:translateY(0);
}
