:root{--navy:#12345b;--blue:#2563eb;--light:#f3f6fb;--text:#162033;--muted:#65758b;--line:#dce4ef;--white:#fff;--green:#0f9f6e;--red:#c73939;--shadow:0 18px 48px rgba(22,32,51,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--light)}a{color:var(--blue);text-decoration:none}input,textarea,button{font:inherit}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;color:var(--blue)}.muted{color:var(--muted)}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(135deg,#eaf1fb,#f7f9fc)}.auth-shell{width:min(1040px,100%);display:grid;grid-template-columns:1.08fr .92fr;background:var(--white);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.brand-panel{padding:64px;background:linear-gradient(145deg,var(--navy),#215b95);color:#fff}.brand-panel .eyebrow{color:#bddbff}.brand-panel h1{font-size:3rem;line-height:1.02;margin:18px 0}.brand-panel p{font-size:1.14rem;line-height:1.6}.brand-mark{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:#fff;color:var(--navy);font-weight:900;font-size:1.35rem}.brand-note{margin-top:48px;padding:18px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(255,255,255,.08)}.auth-card{padding:64px}.auth-card h2{font-size:2.2rem;margin:.3rem 0}.stack{display:grid;gap:18px;margin-top:30px}label{display:grid;gap:8px;font-weight:700;font-size:.92rem}input,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff;color:var(--text);outline:none}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.1)}button,.button-link{border:0;border-radius:12px;padding:13px 16px;font-weight:800;cursor:pointer}.primary{background:var(--blue);color:#fff}.auth-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;font-size:.9rem}.alert{padding:13px 15px;border-radius:12px;margin:18px 0}.alert.error{background:#fff0f0;color:var(--red)}.alert.success{background:#ecfdf5;color:#087552}
.form-page{padding:32px;min-height:100vh}.form-shell{width:min(940px,100%);margin:auto}.back-link{display:inline-block;margin-bottom:18px}.form-card{background:#fff;border-radius:24px;padding:42px;box-shadow:var(--shadow)}.form-card h1{font-size:2.2rem;margin:.4rem 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.wide{grid-column:1/-1}.checkbox{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500}.checkbox input{width:auto;margin-top:3px}
.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.topbar div:first-child{display:grid}.topbar span{font-size:.84rem;color:var(--muted)}.user-box{display:flex;align-items:center;gap:18px}.dashboard-shell{width:min(1180px,100%);margin:auto;padding:48px 28px}.welcome h1{font-size:2.6rem;margin:.3rem 0}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.module-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 9px 26px rgba(22,32,51,.06)}.module-card.active{border-color:#aec7ff}.module-card>span{font-size:2rem}.module-card h2{margin:18px 0 8px}.module-card p{color:var(--muted);min-height:44px}.module-card button{background:#eef2f7;color:#7b8798}.button-link{display:inline-block;background:var(--blue);color:#fff}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.brand-panel{display:none}.auth-card{padding:36px 26px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.module-grid{grid-template-columns:1fr}.topbar{padding:0 18px}.dashboard-shell{padding:32px 18px}.welcome h1{font-size:2rem}}
select{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff;color:var(--text);outline:none}select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.1)}label small{font-weight:500;color:var(--muted)}
.app-page{display:flex;min-height:100vh;background:#f5f7fb}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#102c4d;color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:4px 8px 24px}.brand-logo{width:42px;height:42px;border-radius:14px;background:#fff;color:#12345b;display:grid;place-items:center;font-size:1.25rem;font-weight:900}.brand strong,.brand small{display:block}.brand small{font-size:.72rem;color:#bcd0e8;margin-top:2px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{color:#d8e5f3;padding:12px 13px;border-radius:12px;font-weight:700;display:flex;gap:11px}.sidebar nav a:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 8px 0;display:grid;gap:7px;font-size:.84rem}.sidebar-bottom a{color:#bcd0e8}.content-wrap{margin-left:248px;min-height:100vh;width:calc(100% - 248px)}.content{max-width:1280px;margin:auto;padding:42px 36px 70px}.mobile-top{display:none}.hero{background:linear-gradient(130deg,#fff,#edf4ff);border:1px solid #dbe7f7;padding:34px;border-radius:24px}.hero h1{font-size:2.55rem;margin:.25rem 0}.hero p:last-child{color:var(--muted);margin-bottom:0}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.quick{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;color:var(--text);display:grid;gap:7px;min-height:145px;transition:.16s}.quick:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,32,51,.08)}.quick span{font-size:1.7rem}.quick small{color:var(--muted);line-height:1.35}.primary-card{background:#1e5fd4;color:#fff;border-color:#1e5fd4}.primary-card small{color:#dce9ff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px}.stats-grid span{display:block;color:var(--muted);font-size:.83rem}.stats-grid strong{font-size:2rem;display:block;margin-top:5px}.stats-grid.compact{grid-template-columns:repeat(3,1fr)}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 7px 22px rgba(22,32,51,.035)}.panel h2{margin-top:0}.panel-head,.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.panel-head h2,.page-head h1{margin:.25rem 0}.page-head{margin-bottom:22px}.page-head h1{font-size:2.25rem}.page-head p:last-child{color:var(--muted);margin-bottom:0}.text-link{font-weight:700}.ticket-list{display:grid}.ticket-list>a{display:grid;grid-template-columns:88px 1fr auto;gap:14px;align-items:center;padding:14px 4px;border-top:1px solid #edf1f6;color:var(--text)}.ticket-list>a:first-child{border-top:0}.ticket-list.large>a{grid-template-columns:88px 1fr auto auto}.ticket-number{font-weight:800;color:var(--blue)}.ticket-main strong,.ticket-main small{display:block}.ticket-main small{color:var(--muted);margin-top:4px}.status,.priority{font-size:.7rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase;padding:7px 10px;border-radius:999px;white-space:nowrap;background:#eef2f7}.status-novo,.status-pending{background:#eef5ff;color:#2357a5}.status-em_atendimento,.status-triagem{background:#fff7df;color:#8a5c00}.status-aguardando_usuario,.status-monitoramento{background:#fff0e8;color:#a34a17}.status-resolvido,.status-concluido,.status-approved,.status-em_uso{background:#e9f9f0;color:#177247}.status-rejected{background:#fff0f0;color:#a52c2c}.p-alta{background:#ffe9e9;color:#ad2929}.p-media{background:#fff4df;color:#945c00}.p-baixa{background:#eaf5ff;color:#236699}.big-status{font-size:.78rem;padding:9px 13px}.empty{text-align:center;color:var(--muted);padding:32px}.small-button{display:inline-block;border:0;background:var(--blue);color:#fff;padding:10px 13px;border-radius:10px;font-weight:800;cursor:pointer}.small-button.ghost{background:#eef2f7;color:#37465a}.danger{background:#b93636;color:#fff}.secondary{background:#eef2f7;color:#34445a}.success-button{border:0;background:#138451;color:#fff;border-radius:12px;padding:12px 16px;font-weight:850;cursor:pointer}.full{width:100%}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-col.inventory{grid-template-columns:.8fr 1.2fr}.details{display:grid;grid-template-columns:140px 1fr;gap:13px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:650}.panel hr{border:0;border-top:1px solid var(--line);margin:25px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf1f6;vertical-align:top}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}td small{display:block;color:var(--muted);margin-top:4px}.unit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.unit-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;color:var(--text);display:grid;grid-template-columns:auto 1fr;gap:12px;position:relative}.unit-card:hover{border-color:#a9c6f5;box-shadow:0 10px 24px rgba(22,32,51,.06)}.unit-card strong,.unit-card small{display:block}.unit-card small{color:var(--muted);margin-top:5px}.pin{font-size:1.35rem}.coord{grid-column:2;color:#8a98aa;font-size:.7rem;margin-top:7px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chips span{padding:10px 12px;border-radius:10px;background:#f3f6fa;border:1px solid #e2e8f0;font-size:.85rem}.inline-form{display:grid;grid-template-columns:1fr 180px auto;gap:10px;margin-top:20px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.equipment-list{display:grid;gap:10px;max-height:620px;overflow:auto}.equipment-list article{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;border:1px solid #edf1f6;border-radius:14px;padding:12px}.eq-icon{font-size:1.5rem}.equipment-list strong,.equipment-list small{display:block}.equipment-list small{color:var(--muted);margin-top:3px}.badge{font-size:.8rem;background:#eef4ff;color:#255cc1;padding:5px 8px;border-radius:999px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:8px}.category-grid label{display:block}.category-grid input{display:none}.category-grid span{display:block;border:1px solid var(--line);padding:14px 10px;border-radius:12px;text-align:center;font-weight:750;cursor:pointer;background:#fff}.category-grid input:checked+span{border-color:var(--blue);background:#eef5ff;color:#174fae;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.form-panel{max-width:900px}.big-button{padding:16px;font-size:1rem}.ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.ticket-layout>section{display:grid;gap:18px}.ticket-description h3{margin-top:26px}.ticket-description p{line-height:1.65}.meta-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.meta-row span{font-size:.76rem;color:var(--muted)}.meta-row strong{display:block;color:var(--text);font-size:.9rem;margin-top:4px}.linked-equipment{margin-top:18px;background:#f3f7ff;border-radius:12px;padding:12px}.timeline{display:grid;gap:0}.timeline>div{position:relative;padding:0 0 24px 28px;border-left:2px solid #e0e7f0;margin-left:6px}.timeline-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--blue);left:-7px;top:3px;border:3px solid #fff;box-shadow:0 0 0 1px #cbd8eb}.timeline time{display:block;font-size:.72rem;color:var(--muted)}.timeline strong{display:block;margin-top:3px}.timeline p{margin:5px 0 0}.timeline small{display:inline-block;margin-top:5px;color:#a05c16}.comment-box{display:grid;grid-template-columns:1fr 170px auto;gap:8px;align-items:end}.actions{align-self:start;position:sticky;top:20px}.actions form{margin-top:12px}.resolve-box{margin-top:25px!important;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:1050px){.quick-grid{grid-template-columns:repeat(2,1fr)}.unit-grid{grid-template-columns:repeat(2,1fr)}.ticket-layout{grid-template-columns:1fr}.actions{position:static}.two-col.inventory{grid-template-columns:1fr}.ticket-list.large>a{grid-template-columns:80px 1fr auto}.ticket-list.large>a .priority{display:none}}
@media(max-width:760px){.sidebar{display:none}.content-wrap{margin:0;width:100%}.mobile-top{height:58px;background:#102c4d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.mobile-top a{color:#d8e5f3}.content{padding:24px 15px 50px}.hero{padding:24px}.hero h1{font-size:2rem}.quick-grid,.stats-grid,.stats-grid.compact,.unit-grid,.two-col,.mini-grid,.meta-row{grid-template-columns:1fr}.quick{min-height:auto}.page-head,.panel-head{display:grid}.ticket-list>a,.ticket-list.large>a{grid-template-columns:72px 1fr}.ticket-list>a .status,.ticket-list.large>a .status,.ticket-list.large>a .priority{display:none}.inline-form,.comment-box{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr 1fr}.form-card{padding:25px 20px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.details{grid-template-columns:1fr}.details dd{margin-bottom:8px}}

.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.filter-grid label{display:flex;flex-direction:column;gap:6px}.report-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:16px 0}.column-options{display:flex;flex-wrap:wrap;gap:16px}.column-options label{display:flex;align-items:center;gap:6px}.column-options input{width:auto}.report-meta{font-size:13px;line-height:1.7;color:#52647a}.report-table td{white-space:pre-wrap;min-width:90px;overflow-wrap:anywhere}.panel+.panel{margin-top:20px}fieldset{border:1px solid #dce4ee;border-radius:10px;padding:16px}
@media print{@page{size:A4 landscape;margin:12mm}.sidebar,.mobile-top,.no-print,.report-actions{display:none!important}.content-wrap{margin:0!important}.content{max-width:none!important;padding:0!important}.panel{box-shadow:none!important;border:0!important;padding:0!important}.table-wrap{overflow:visible!important}.report-table{width:100%;font-size:9px;table-layout:fixed}.report-table td,.report-table th{min-width:0;padding:5px;overflow-wrap:anywhere}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid}body{background:white!important}.page-head{margin:0}h1{font-size:20px}}

summary{cursor:pointer;font-weight:600;padding:8px 0}details[open]>form{margin-top:16px}.report-table td{word-break:normal;overflow-wrap:normal}.content{max-width:1440px}
