:root{--bg:#05090f;--panel:#e8f6ff;--panel2:#f7fcff;--text:#0b1b26;--page:#e9f6fc;--page-muted:#91aaba;--line:#bcd6e3;--cyan:#46d4ff;--green:#18b981;--danger:#c74343;--radius:14px;--shadow:0 16px 38px rgba(0,0,0,.22);--max:1280px}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(circle at 80% -10%,#0b2635 0,transparent 30%),var(--bg);font:14px/1.45 Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--page)}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{display:block;max-width:100%}[hidden]{display:none!important}
.topbar{position:sticky;top:0;z-index:50;background:rgba(5,9,15,.94);border-bottom:1px solid #173040;backdrop-filter:blur(14px)}.topbar-inner{width:min(var(--max),100%);height:70px;margin:auto;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--panel);color:#07131d}.brand-logo svg{width:27px;height:27px}.brand-copy{display:grid}.brand-copy strong{font-size:.92rem}.brand-copy small{color:var(--page-muted);font-size:.74rem}.top-actions{display:flex;gap:8px}
.btn,.icon-btn{border:1px solid transparent;border-radius:10px;min-height:38px;padding:0 13px;font-weight:800;transition:.15s ease}.btn:hover,.icon-btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--cyan);color:#03202d;box-shadow:0 8px 22px rgba(70,212,255,.2)}.btn-secondary{background:#0b2533;color:#dbf6ff;border-color:#245168}.btn-ghost{background:#0a1722;color:#dff5ff;border-color:#204154}.icon-btn{width:38px;padding:0;background:#eef9ff;color:#09202c;font-size:24px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.app-shell{width:min(var(--max),100%);margin:auto;padding:24px 18px 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.eyebrow{color:var(--cyan);font-size:.72rem;font-weight:900;letter-spacing:.12em}.page-heading h1{margin:6px 0 3px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.page-heading p{margin:0;color:var(--page-muted)}.sync-state{display:flex;align-items:center;gap:8px;color:#b8d7e7;font-size:.82rem;font-weight:800}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(24,185,129,.7)}
.setup-banner{margin:0 0 14px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #24475b;border-radius:12px;background:#0a1a25}.setup-banner p{margin:3px 0 0;color:#93aab9;font-size:.82rem}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric-card{min-height:102px;display:flex;align-items:center;gap:13px;padding:14px;border:1px solid #d1e5ef;border-radius:var(--radius);background:var(--panel);color:var(--text);text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.14)}button.metric-card:hover{border-color:#73ccec;transform:translateY(-1px)}.metric-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:#d7eef9;font-size:1.05rem;font-weight:950}.metric-icon.blue{color:#087da8}.metric-icon.green{color:#0b966a}.metric-icon.violet{color:#6758d9}.metric-icon.cyan{color:#0789ad}.metric-copy{display:grid}.metric-copy small{font-weight:850;color:#577181}.metric-copy strong{font-size:1.72rem;line-height:1.1}.metric-copy em{margin-top:2px;color:#8296a3;font-size:.7rem;font-style:normal}
.panel,.table-panel{background:var(--panel);color:var(--text);border:1px solid #cce2ed;border-radius:var(--radius);box-shadow:0 8px 22px rgba(0,0,0,.14)}.filters-panel{padding:13px;margin-bottom:17px}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:9px}.search-wrap{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.search-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.filters-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:9px;align-items:end}.filters-row label{display:grid;gap:4px}.filters-row label span{font-size:.68rem;font-weight:900;text-transform:uppercase;color:#607887}.filters-row select,.field input,.field select,.field textarea{width:100%;min-height:38px;border:1px solid var(--line);border-radius:9px;background:#f8fcff;color:var(--text);padding:7px 10px;outline:none}.filters-row select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#42bfe8;box-shadow:0 0 0 3px rgba(70,212,255,.14)}.filters-panel .btn-ghost{background:#f6fbff;color:#274657;border-color:var(--line)}
.list-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:18px 2px 8px}.list-head h2{margin:3px 0 0;font-size:1.1rem}.result-count{color:#95afbd;font-size:.8rem;font-weight:800}
.table-panel{overflow:hidden}.table-scroll{overflow:visible}.requests-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.75rem}.requests-table col.c-date{width:6.5%}.requests-table col.c-final{width:7.5%}.requests-table col.c-id{width:8.5%}.requests-table col.c-requester{width:6%}.requests-table col.c-garage{width:5.5%}.requests-table col.c-prefix{width:6.5%}.requests-table col.c-category{width:7%}.requests-table col.c-company{width:5.5%}.requests-table col.c-problem{width:13%}.requests-table col.c-evidence{width:6%}.requests-table col.c-aging{width:5.5%}.requests-table col.c-status{width:6.5%}.requests-table col.c-actions{width:15.5%}.requests-table th{padding:9px 7px;background:#d9edf7;color:#355565;border-bottom:1px solid #bdd6e3;font-size:.62rem;text-transform:uppercase;letter-spacing:.035em;text-align:left;white-space:nowrap}.requests-table td{padding:9px 7px;border-bottom:1px solid #d9e8ef;vertical-align:middle;overflow:hidden}.requests-table tbody tr:hover{background:#f4fbff}.requests-table tbody tr:last-child td{border-bottom:0}.cell-date,.cell-final,.cell-id,.aging{white-space:nowrap}.cell-final small,.cell-prefix small{display:block;margin-top:1px;color:#67808d;font-size:.63rem}.cell-id{font-weight:900;color:#0d6d90;text-overflow:ellipsis}.cell-ellipsis{white-space:nowrap;text-overflow:ellipsis}.cell-problem{white-space:normal}.problem-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;max-height:2.5em}.aging{font-weight:900}.status-pill{display:inline-flex;align-items:center;min-height:25px;padding:0 7px;border-radius:999px;font-size:.65rem;font-weight:900}.status-pill.open{background:#d7eef9;color:#086c92}.status-pill.done{background:#d9f4e8;color:#0b7957}.row-actions{display:flex;gap:4px;align-items:center;white-space:nowrap}.edit-btn,.delete-btn,.finish-btn{min-height:30px;padding:0 5px;border-radius:7px;font-size:.62rem;font-weight:900}.edit-btn{border:1px solid #b7cbd6;background:#f7fbfd;color:#294f62}.edit-btn:hover{background:#edf7fb}.delete-btn{border:1px solid #e3b7b7;background:#fff7f7;color:#9b2f2f}.delete-btn:hover{background:#ffeaea}.finish-btn{border:1px solid #96cedf;background:#e6f8ff;color:#075b78}.finish-btn:hover{background:#cdf0fc}.finish-btn:disabled{border-color:#d1e2e9;background:#eef5f8;color:#8da2ac}.empty-state{padding:30px;text-align:center;color:#6f8794}
.modal-shell{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px}.modal-shell.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(2,6,12,.72);backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(920px,calc(100vw - 32px));overflow:visible;border:1px solid #c8e0eb;border-radius:18px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.modal-card.compact-modal{width:min(620px,calc(100vw - 32px))}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #c9dfe9}.modal-header h2{margin:3px 0 0;font-size:1.35rem}.modal-body{padding:14px 18px 16px;overflow:visible}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 11px}.field{display:grid;gap:5px}.field>span{font-size:.73rem;font-weight:900}.field>span em{font-weight:700;color:#78909d;font-style:normal}.field textarea{resize:vertical;min-height:70px;max-height:120px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.file-drop{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:9px 12px;border:1.5px dashed #9ac8db;border-radius:10px;background:#f6fbff;text-align:center}.file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop small{color:#748d9a;font-size:.7rem}.image-previews{display:flex;flex-wrap:wrap;gap:6px;min-height:0}.preview-thumb{width:46px;height:46px;border-radius:7px;overflow:hidden;border:1px solid #bfdbe6}.preview-thumb img{width:100%;height:100%;object-fit:cover}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.modal-card .btn-ghost{background:#f6fbff;color:#294858;border-color:#bcd5e0}.edit-meta{display:block;margin-top:4px;color:#718895;font-size:.75rem;font-weight:750}.finalize-form{display:grid;gap:12px}.finalize-form textarea{min-height:110px}
.loading-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(2,6,12,.45);backdrop-filter:blur(2px)}.loading-card{display:flex;align-items:center;gap:10px;padding:14px 17px;border-radius:12px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.spinner{width:20px;height:20px;border:3px solid #c3dfeb;border-top-color:#20acd8;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:300;display:grid;gap:8px;width:min(350px,calc(100vw - 36px))}.toast{padding:12px 13px;border:1px solid #c4dce7;border-left:4px solid #20acd8;border-radius:10px;background:#effaff;color:#0c2530;box-shadow:var(--shadow);font-weight:750}.toast.success{border-left-color:var(--green)}.toast.error{border-left-color:var(--danger)}
@media(max-width:1120px){.requests-table col.c-requester,.requests-table col.c-company{width:0}.requests-table th:nth-child(4),.requests-table td:nth-child(4),.requests-table th:nth-child(8),.requests-table td:nth-child(8){display:none}.requests-table col.c-problem{width:18%}.requests-table col.c-actions{width:18%}}
@media(max-width:900px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.filters-row{grid-template-columns:repeat(2,1fr)}.clear-btn{width:100%}.requests-table th:nth-child(3),.requests-table td:nth-child(3),.requests-table th:nth-child(7),.requests-table td:nth-child(7){display:none}.requests-table col.c-id,.requests-table col.c-category{width:0}.requests-table col.c-problem{width:23%}.requests-table col.c-actions{width:22%}}
@media(max-width:720px){.topbar-inner{height:64px;padding:0 12px}.brand-copy strong{font-size:.82rem}.brand-copy small{font-size:.68rem}.top-actions .btn{padding:0 10px}.app-shell{padding:20px 12px 60px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:1.75rem}.metrics-grid{gap:8px}.metric-card{min-height:90px;padding:12px}.metric-icon{width:36px;height:36px;flex-basis:36px}.metric-copy strong{font-size:1.4rem}.search-row{grid-template-columns:1fr}.filters-row{grid-template-columns:1fr 1fr}.modal-shell{align-items:flex-end;padding:0}.modal-card,.modal-card.compact-modal{width:100%;max-height:94vh;overflow:auto;border-radius:18px 18px 0 0}.modal-body{overflow:visible}.form-grid{grid-template-columns:1fr}.span-2,.span-3,.span-4{grid-column:span 1}.form-actions .btn{flex:1}.requests-table{font-size:.69rem}.requests-table th:nth-child(2),.requests-table td:nth-child(2),.requests-table th:nth-child(5),.requests-table td:nth-child(5){display:none}.requests-table col.c-final,.requests-table col.c-garage{width:0}.requests-table col.c-date{width:14%}.requests-table col.c-prefix{width:13%}.requests-table col.c-problem{width:30%}.requests-table col.c-aging{width:11%}.requests-table col.c-status{width:12%}.requests-table col.c-actions{width:20%}.row-actions{flex-direction:column;align-items:stretch}.edit-btn,.delete-btn,.finish-btn{min-height:27px}}
@media(max-width:430px){.brand-copy small{display:none}.metrics-grid{grid-template-columns:1fr}.filters-row{grid-template-columns:1fr}.top-actions #refreshBtn{display:none}}
/* v0.1.13 — carimbo visual de versão e compatibilidade frontend/backend */
.date-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:6px}.date-input-wrap input[type=date]{min-width:0}.date-picker-btn{min-height:38px;border:1px solid var(--line);border-radius:9px;background:#eaf8ff;color:#087da8;font-size:1rem;font-weight:950;cursor:pointer;transition:.15s ease}.date-picker-btn:hover{border-color:#42bfe8;background:#d9f3ff;transform:translateY(-1px)}
.confirm-card{width:min(500px,calc(100vw - 32px));padding:18px;background:var(--panel)}.confirm-content{display:flex;align-items:flex-start;gap:14px}.confirm-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;background:#d7eef9;color:#087da8;font-size:1.15rem;font-weight:950}.confirm-copy h2{margin:4px 0 5px;font-size:1.2rem}.confirm-copy p{margin:0;color:#607887;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.confirm-card .btn-ghost{background:#f6fbff;color:#294858;border-color:#bcd5e0}.confirm-card.danger .confirm-icon{background:#ffeaea;color:#a43434}.confirm-card.danger #confirmOkBtn{background:#c74343;color:#fff;box-shadow:0 8px 22px rgba(199,67,67,.18)}
.toast{display:grid;grid-template-columns:34px minmax(0,1fr) 26px;align-items:center;gap:9px;padding:10px 10px 10px 11px;border:1px solid #bdd9e6;border-left:1px solid #bdd9e6;border-radius:12px;background:#e8f6ff;color:#0b1b26;box-shadow:0 14px 32px rgba(0,0,0,.25)}.toast-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#d3effa;color:#087da8;font-weight:950}.toast-copy{display:grid;gap:1px;min-width:0}.toast-copy strong{font-size:.78rem}.toast-copy small{color:#567180;font-size:.73rem;line-height:1.35}.toast-close{width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:#6d8592;font-size:18px;cursor:pointer}.toast-close:hover{background:#d9edf7;color:#153444}.toast.success .toast-icon{background:#d9f4e8;color:#0b7957}.toast.error .toast-icon{background:#ffeaea;color:#a43434}.toast.warning .toast-icon{background:#fff1c9;color:#8a6410}.toast.error{border-color:#e7baba}.toast.warning{border-color:#ead69d}.toast.success{border-color:#b9dfcf}
@media(max-width:720px){.confirm-card{width:100%;border-radius:18px 18px 0 0}.confirm-actions .btn{flex:1}.toast-stack{right:12px;bottom:12px;width:calc(100vw - 24px)}}

.version-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid #21465a;border-radius:999px;background:#0b1c27;color:#7ddcff;font-size:.67rem;font-weight:950;letter-spacing:.02em;white-space:nowrap}.system-state{display:grid;justify-items:end;gap:5px}.version-stamp{padding:5px 8px;border:1px solid #153747;border-radius:8px;background:#07131c;color:#8fb4c5;font-size:.68rem;font-weight:800;white-space:nowrap}.version-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:13px 15px;border:1px solid #6ec9e8;border-radius:12px;background:#dff5ff;color:#0b3547}.version-banner strong{display:block;font-size:.86rem}.version-banner p{margin:3px 0 0;color:#456b7c;font-size:.76rem}.app-footer{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:18px 0 0;padding:12px 6px;color:#6f8997;font-size:.68rem}.app-footer strong{color:#9bc3d4}.app-footer span+span:before,.app-footer strong+span:before{content:'•';margin-right:9px;color:#3c6275}
@media(max-width:720px){.system-state{justify-items:start}.version-stamp{white-space:normal}.version-banner{align-items:flex-start;flex-direction:column}.version-banner .btn{width:100%}.version-chip{display:none}.app-footer{justify-content:flex-start}.app-footer span+span:before,.app-footer strong+span:before{display:none}}

/* 0.1.14 — período personalizado e data de finalização */
.period-filter-row{display:flex;align-items:end;gap:9px;margin-top:9px;padding-top:9px;border-top:1px solid #cde2ec}.period-filter-row .period-label{align-self:center;min-width:112px;font-size:.68rem;font-weight:950;text-transform:uppercase;color:#607887}.period-filter-row label{display:grid;gap:4px;width:min(230px,100%)}.period-filter-row label>span{font-size:.68rem;font-weight:900;text-transform:uppercase;color:#607887}.period-filter-row input[type=date]{width:100%;min-height:38px;border:1px solid var(--line);border-radius:9px;background:#f8fcff;color:var(--text);padding:7px 10px;outline:none}.period-filter-row input[type=date]:focus{border-color:#42bfe8;box-shadow:0 0 0 3px rgba(70,212,255,.14)}
@media(max-width:720px){.period-filter-row{display:grid;grid-template-columns:1fr 1fr}.period-filter-row .period-label{grid-column:1/-1}.period-filter-row label{width:100%}}
@media(max-width:430px){.period-filter-row{grid-template-columns:1fr}}


/* 0.1.15 — evidência única, filtro solicitante e mobile sem rolagem horizontal */
.evidence-link{display:inline-flex;align-items:center;min-height:27px;padding:0 7px;border:1px solid #9bcfe1;border-radius:7px;background:#e7f8ff;color:#076d91;font-size:.67rem;font-weight:900;text-decoration:none;white-space:nowrap}.evidence-link:hover{background:#d4f1fc;border-color:#58bddd}.evidence-edit-info{min-height:26px;color:#607887;font-size:.73rem;font-weight:750}.cell-evidence{white-space:nowrap}
@media(max-width:1120px){.requests-table col.c-evidence{width:7%}}
@media(max-width:900px){.filters-row{grid-template-columns:repeat(2,minmax(0,1fr))}.requests-table col.c-evidence{width:9%}}
@media(max-width:720px){
  .table-panel{overflow:visible}.table-scroll{overflow:visible}.requests-table,.requests-table tbody{display:block;width:100%}.requests-table colgroup,.requests-table thead{display:none}.requests-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;padding:9px 10px;border-bottom:1px solid #c9dfe9;background:transparent}.requests-table tbody tr:last-child{border-bottom:0}.requests-table tbody tr:hover{background:#f4fbff}
  .requests-table td,.requests-table th:nth-child(n){display:flex!important;min-width:0;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 5px;border:0!important;white-space:normal;overflow:visible;text-overflow:clip}.requests-table td::before{content:attr(data-label);color:#6a8491;font-size:.58rem;font-weight:950;letter-spacing:.045em;text-transform:uppercase}.requests-table .cell-problem,.requests-table .cell-actions{grid-column:1/-1}.requests-table .problem-clamp{display:block;max-height:none;overflow:visible}.requests-table .cell-id,.requests-table .cell-ellipsis{white-space:normal;text-overflow:clip}.requests-table .cell-final small,.requests-table .cell-prefix small{font-size:.67rem}.requests-table .cell-evidence{white-space:normal}.requests-table .row-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;white-space:normal}.requests-table .edit-btn,.requests-table .delete-btn,.requests-table .finish-btn{min-height:34px;width:100%;padding:0 7px;font-size:.68rem}.evidence-link{min-height:30px;padding:0 9px;font-size:.7rem}
}
@media(max-width:430px){.requests-table tbody tr{grid-template-columns:1fr}.requests-table .cell-problem,.requests-table .cell-actions{grid-column:auto}.requests-table .row-actions{grid-template-columns:1fr 1fr}.requests-table .finish-btn{grid-column:1/-1}.filters-row{grid-template-columns:1fr}}
