:root{
  --bg:#E7E8DF;
  --surface:#FCFCF9;
  --ink:#1E271F;
  --ink-soft:#5B6459;
  --line:#C7CABA;
  --accent:#35586B;
  --accent-ink:#FFFFFF;
  --warn:#AE4A2E;
  --warn-soft:#F3DFD5;
  --mid:#8A6A2E;
  --mid-soft:#F1E6CE;
  --ok:#4B7A51;
  --ok-soft:#DEEBDD;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:480px;margin:0 auto;padding:28px 18px 60px;}
.wrap.wide{max-width:760px;}
h1,h2,h3{font-family:'Fraunces', serif;font-weight:600;margin:0 0 4px;line-height:1.15;}
p{line-height:1.5;}
.eyebrow{font-family:'IBM Plex Mono', monospace;font-size:11px;letter-spacing:.03em;color:var(--ink-soft);margin:0 0 6px;}

.app-header{display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.app-header .titles{flex:1;}
.app-header h1{font-size:20px;}
.app-header .sub{font-size:13px;color:var(--ink-soft);margin:0;}

.tag{position:relative;background:var(--surface);border:1px solid var(--line);padding:22px 20px 20px;margin-bottom:16px;}
.tag::before{content:"";position:absolute;top:-1px;left:22px;width:16px;height:16px;background:var(--bg);border:1px solid var(--line);border-radius:50%;transform:translateY(-50%);}
.perforation{border-top:1.5px dashed var(--line);margin:16px 0;}

label{display:block;font-size:13px;font-weight:500;margin:14px 0 6px;color:var(--ink);}
label .opt{color:var(--ink-soft);font-weight:400;}
input[type=text],input[type=email],input[type=tel],input[type=password],textarea,select{
  width:100%;font-family:'IBM Plex Sans', sans-serif;font-size:15px;padding:10px 11px;
  border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);
}
input:disabled{background:var(--bg);color:var(--ink-soft);}
input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px;}
textarea{min-height:90px;resize:vertical;}
.file-btn{display:flex;align-items:center;gap:10px;border:1px dashed var(--line);padding:10px;cursor:pointer;font-size:13px;color:var(--ink-soft);}
.file-btn input{display:none;}
#photo-preview{margin-top:10px;max-width:100%;border:1px solid var(--line);display:none;}

button{font-family:'IBM Plex Sans', sans-serif;font-size:14px;font-weight:600;cursor:pointer;border:none;border-radius:2px;padding:12px 18px;}
.btn-primary{background:var(--accent);color:var(--accent-ink);width:100%;margin-top:18px;}
.btn-primary:disabled{opacity:.5;cursor:default;}
.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line);}
.btn-warn{background:var(--warn);color:#fff;}
.btn-ok{background:var(--ok);color:#fff;}
.btn-mid{background:var(--mid);color:#fff;}
.btn-small{padding:6px 10px;font-size:12px;}

.link-row{text-align:center;margin-top:22px;font-size:12px;}
.link-row a{color:var(--ink-soft);text-decoration:underline;cursor:pointer;}

.confirm-box{text-align:center;padding:30px 10px;}
.confirm-box .stamp{display:inline-block;border:2px solid var(--ok);color:var(--ok);font-family:'IBM Plex Mono', monospace;font-size:12px;letter-spacing:.05em;padding:4px 10px;transform:rotate(-3deg);margin-bottom:14px;}

.error-msg{color:var(--warn);font-size:13px;margin-top:8px;}
.hint{font-size:12px;color:var(--ink-soft);margin-top:4px;}

.report-row{border:1px solid var(--line);background:var(--surface);padding:12px 14px;margin-bottom:8px;cursor:pointer;}
.report-row-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;}
.report-row-top .who{font-weight:600;font-size:14px;}
.report-row .meta{font-size:12px;color:var(--ink-soft);margin-top:2px;}
.pill{font-family:'IBM Plex Mono', monospace;font-size:10px;padding:2px 8px;border-radius:20px;white-space:nowrap;}
.pill-novo{background:var(--warn-soft);color:var(--warn);}
.pill-em_resolucao{background:var(--mid-soft);color:var(--mid);}
.pill-resolvido{background:var(--ok-soft);color:var(--ok);}
.report-detail{margin-top:10px;font-size:13px;}
.report-detail img{max-width:100%;border:1px solid var(--line);margin-top:8px;}
.report-detail .row-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}

.filters{display:flex;gap:8px;margin-bottom:12px;}
.filters select{font-size:13px;padding:8px;}

.tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--line);}
.tab-btn{background:none;border:none;padding:10px 4px;font-size:13px;font-weight:600;color:var(--ink-soft);border-bottom:2px solid transparent;border-radius:0;}
.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);}

.building-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;padding:5px 10px;font-size:13px;margin:0 6px 6px 0;}
.building-chip button{background:none;border:none;color:var(--warn);font-size:14px;padding:0;line-height:1;cursor:pointer;}

.cond-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line);}
.cond-item:last-child{border-bottom:none;}
.cond-logo{width:32px;height:32px;object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:2px;}
.logo-upload-btn{display:inline-block;cursor:pointer;}
.report-logo{width:34px;height:34px;object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:2px;}

.loading{color:var(--ink-soft);font-size:13px;padding:20px 0;text-align:center;}
#qr-render{margin:14px 0;display:flex;justify-content:center;}

.print-card{display:none;}
@media print{
  body *{visibility:hidden;}
  .print-card,.print-card *{visibility:visible;}
  .print-card{display:block;position:fixed;top:0;left:0;width:100%;text-align:center;padding:40px;}
}
