
  :root{
    --ink:#1B2A4A;
    --ink-2:#233657;
    --paper:#F5F1E8;
    --paper-2:#EFE9DA;
    --line:#DCD2B8;
    --accent:#D9541F;
    --accent-dark:#B8431A;
    --ok:#3C6E47;
    --ok-bg:#E4EEE4;
    --warn:#9C6B0B;
    --warn-bg:#F3E9CF;
    --text:#2A2620;
    --muted:#7A7264;
    --white:#FFFDF8;
    --radius:2px;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:var(--paper);
    color:var(--text);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    min-height:100vh;
  }
  ::selection{background:var(--accent);color:#fff;}
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

  .label-face{
    font-family:'Barlow Condensed',sans-serif;
    text-transform:uppercase;
    letter-spacing:.06em;
  }
  .mono{font-family:'IBM Plex Mono',monospace;}

  /* ---------- HEADER ---------- */
  header.app-head{
    background:var(--ink);
    background-image:
      repeating-linear-gradient(45deg, rgba(255,255,255,0.025) 0 2px, transparent 2px 12px);
    color:var(--white);
    padding:16px 20px;
    position:sticky;top:0;z-index:20;
    box-shadow:0 2px 10px rgba(0,0,0,.15);
  }
  .head-row{
    display:flex;align-items:center;justify-content:space-between;
    max-width:1240px;margin:0 auto;flex-wrap:nowrap;gap:10px;
  }
  .brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0;}
  .brand-mark{
    width:40px;height:40px;flex:none;
    border:2px solid var(--accent);
    display:flex;align-items:center;justify-content:center;
    font-family:'Barlow Condensed',sans-serif;font-weight:700;
    font-size:18px;color:var(--accent);
    transform:rotate(-6deg);
  }
  .brand-text{min-width:0;flex:1;}
  .brand-text h1{
    font-family:'Barlow Condensed',sans-serif;font-weight:700;
    font-size:24px;margin:0;letter-spacing:.03em;line-height:1.15;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
  }
  .brand-text p{
    margin:3px 0 0;font-size:11.5px;color:#B9C2D4;
    text-transform:uppercase;letter-spacing:.09em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
  }
  .clock{font-size:11px;color:#9BA6BE;text-align:right;flex:none;}
  .clock b{display:block;color:#fff;font-size:13px;font-family:'IBM Plex Mono',monospace;}

  .hamburger-btn{
    display:none;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;
    font-size:18px;width:36px;height:36px;border-radius:4px;cursor:pointer;flex:none;
    align-items:center;justify-content:center;
  }

  /* ---------- LAYOUT: SIDEBAR + CONTEÚDO ---------- */
  .app-layout{max-width:1240px;margin:0 auto;display:flex;align-items:flex-start;min-height:calc(100vh - 74px);}
  .sidebar{
    width:246px;flex:none;background:var(--ink);
    background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 12px);
    min-height:calc(100vh - 74px);position:sticky;top:74px;
    padding:12px 10px 14px;display:flex;flex-direction:column;gap:4px;
    transition:width .22s ease;overflow:hidden;
  }
  .sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 11px;color:#9BA6BE;}
  .sidebar-head strong{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px;}
  .sidebar-collapse{width:32px;height:30px;border:1px solid rgba(255,255,255,.12)!important;border-radius:4px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center!important;text-align:center!important;color:#AEB8CB!important;font-size:15px!important;}
  .sidebar-group-label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.09em;font-size:10px;color:#71809B;padding:10px 10px 4px;}
  .sidebar button[data-view]{
    width:100%;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14px;
    text-transform:uppercase;letter-spacing:.05em;text-align:left;
    background:transparent;color:#C6CEE0;border:none;border-left:3px solid transparent;
    padding:10px 12px;cursor:pointer;transition:background .15s,color .15s;
    display:flex;align-items:center;gap:11px;border-radius:4px;
  }
  .sidebar button[data-view]:hover{background:rgba(255,255,255,.08);color:#fff;}
  .sidebar button[data-view].active{background:var(--paper);color:var(--ink);border-left-color:var(--accent);}
  .nav-icon{width:22px;flex:none;display:flex;align-items:center;justify-content:center;}
  .nav-icon .nav-ic{width:18px;height:18px;display:block;}
  .nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-spacer{flex:1;}
  .sidebar-user{border-top:1px solid rgba(255,255,255,.1);padding:12px 8px 2px;display:flex;align-items:center;gap:9px;color:#C6CEE0;}
  .sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex:none;}
  .sidebar-user-info{min-width:0;}
  .sidebar-user-info strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-user-info span{display:block;color:#7F8BA3;font-size:10px;text-transform:uppercase;margin-top:2px;}
  .sidebar-overlay{display:none;}
  .app-layout.sidebar-collapsed .sidebar{width:76px;}
  .app-layout.sidebar-collapsed .sidebar-head strong,.app-layout.sidebar-collapsed .sidebar-group-label,.app-layout.sidebar-collapsed .nav-label,.app-layout.sidebar-collapsed .sidebar-user-info{display:none;}
  .app-layout.sidebar-collapsed .sidebar button[data-view]{justify-content:center;padding-left:8px;padding-right:8px;}
  .app-layout.sidebar-collapsed .sidebar-user{justify-content:center;}
  main{flex:1;min-width:0;max-width:none;margin:0 auto;padding:28px 28px 80px;}
  @media(max-width:860px){
    .hamburger-btn{display:flex;}
    .sidebar{
      position:fixed;top:0;bottom:0;left:-280px;width:270px;z-index:160;
      box-shadow:2px 0 18px rgba(0,0,0,.35);transition:left .22s ease;min-height:100vh;
      padding-top:18px;
    }
    .app-layout.sidebar-collapsed .sidebar{width:270px;}
    .app-layout.sidebar-collapsed .sidebar-head strong,.app-layout.sidebar-collapsed .sidebar-group-label,.app-layout.sidebar-collapsed .nav-label,.app-layout.sidebar-collapsed .sidebar-user-info{display:block;}
    .app-layout.sidebar-collapsed .sidebar button[data-view]{justify-content:flex-start;padding-left:12px;padding-right:12px;}
    .app-layout.sidebar-collapsed .sidebar-user{justify-content:flex-start;}
    .sidebar-collapse{display:none!important;}
    .sidebar.open{left:0;}
    .sidebar-overlay{
      display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:150;
    }
    .sidebar-overlay.open{display:block;}
  }
  .dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;}
  .dashboard-stat{position:relative;overflow:hidden;}
  .dashboard-stat .stat-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
  .dashboard-stat .stat-icon{width:34px;height:34px;border-radius:7px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;color:var(--ink);}
  .dashboard-stat .stat-icon .nav-ic{width:17px;height:17px;}
  .dashboard-stat .stat-value{font-family:'IBM Plex Mono',monospace;font-size:25px;color:var(--ink);margin-top:10px;}
  .dashboard-stat .stat-label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.07em;font-size:11px;color:var(--muted);margin-top:3px;}
  .dashboard-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px;}
  .quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
  .quick-action{border:1px solid var(--line);background:var(--paper);padding:11px;border-radius:3px;text-align:left;cursor:pointer;color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px;}
  .quick-action .nav-ic{width:16px;height:16px;flex:none;color:var(--accent);}
  .quick-action:hover{background:var(--paper-2);}
  @media(max-width:980px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.dashboard-columns{grid-template-columns:1fr;}}

  .view{display:none;animation:fadein .25s ease;}
  .view.active{display:block;}
  @keyframes fadein{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

  .view-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
  .view-head h2{
    font-family:'Barlow Condensed',sans-serif;font-size:26px;margin:0;color:var(--ink);
    text-transform:uppercase;letter-spacing:.03em;
  }
  .view-head .sub{color:var(--muted);font-size:12.5px;margin-top:2px;}
  .count-chip{
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);
    border:1px solid var(--line);padding:3px 8px;border-radius:20px;background:var(--white);
  }

  /* ---------- CARD / SLIP ---------- */
  .card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:18px;
    margin-bottom:16px;
  }
  .slip{
    position:relative;
    background:var(--white);
    border:1px solid var(--line);
    border-top:none;
    border-radius:0 0 3px 3px;
    padding:16px 16px 14px;
    margin-bottom:18px;
    box-shadow:0 1px 3px rgba(27,42,74,.06);
  }
  .slip::before{
    content:"";
    display:block;height:6px;
    background:repeating-linear-gradient(90deg, var(--accent) 0 8px, transparent 8px 14px);
    border-radius:3px 3px 0 0;
  }
  .slip-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
  .slip-id{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);}
  .slip-id b{color:var(--ink);}
  .slip-title{font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:600;color:var(--ink);margin:2px 0 0;}
  .slip-meta{font-size:12.5px;color:var(--muted);margin-top:2px;}
  .slip-body{font-size:13.5px;line-height:1.5;margin:10px 0;color:var(--text);}
  .slip-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);}
  .slip-actions{display:flex;gap:8px;flex-wrap:wrap;}

  .stamp{
    font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:11.5px;
    text-transform:uppercase;letter-spacing:.07em;
    padding:4px 10px;border-radius:20px;
    display:inline-block;transform:rotate(-2deg);
  }
  .stamp.agendado{background:var(--warn-bg);color:var(--warn);border:1px solid #D8BD7C;}
  .stamp.concluido{background:var(--ok-bg);color:var(--ok);border:1px solid #A9C7AC;}
  .stamp.aberta{background:var(--warn-bg);color:var(--warn);border:1px solid #D8BD7C;}
  .stamp.cancelado{background:#F1E1DC;color:#A03B1E;border:1px solid #E0B3A2;}

  .empty{
    text-align:center;padding:40px 20px;color:var(--muted);
    border:1px dashed var(--line);border-radius:var(--radius);background:var(--white);
  }
  .empty .big{font-family:'Barlow Condensed',sans-serif;font-size:20px;color:var(--ink);text-transform:uppercase;margin-bottom:4px;}

  /* ---------- FORM ---------- */
  .form-toggle{
    font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.04em;
    background:var(--ink);color:#fff;border:none;padding:10px 18px;border-radius:var(--radius);
    cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  }
  .form-toggle:hover{background:var(--ink-2);}
  form.entry{display:none;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px;}
  form.entry.open{display:block;}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(max-width:560px){.grid{grid-template-columns:1fr;}.head-row{align-items:center}.brand-text h1{font-size:16.5px}.brand-text p{display:none}.clock{font-size:0;}.clock b{font-size:12.5px;}main{padding:18px 12px 60px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-stat{padding:13px}.dashboard-stat .stat-value{font-size:22px}.dashboard-columns{gap:10px}.doc-page{width:100%;min-height:auto;padding:10mm 8mm 12mm}.doc-footer{position:static;margin-top:20px}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:70mm}
    .items-row{grid-template-columns:1fr;gap:6px;background:var(--paper);padding:8px;border-radius:2px;border:1px solid var(--line);}
    .items-row button{justify-self:end;width:auto;}
    .search-bar > div, .search-bar{flex-wrap:wrap;}
    .search-bar select{width:100%;padding:9px 10px;}
    .btn, .form-toggle, select.status-inline{min-height:38px;}
    .btn-sm{min-height:32px;}
    .slip-actions{gap:6px;}
    #histModal>div, #sigModal>div{padding:14px;max-height:90vh;}
    #sigCanvas{height:150px;}
    nav.tabs button{padding:10px 13px;font-size:13.5px;}
  }
  @media(max-width:420px){.dashboard-grid{grid-template-columns:1fr 1fr}.quick-actions{grid-template-columns:1fr}.dashboard-stat .stat-label{font-size:10px}.dashboard-stat .stat-icon{width:30px;height:30px;font-size:14px;}
    .view-head{flex-direction:column;align-items:stretch;}
    .view-head .form-toggle{width:100%;justify-content:center;}
    .slip-actions{width:100%;}
    .slip-actions .btn{flex:1;justify-content:center;}
  }
  .field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
  .field label{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;}
  .field input,.field select,.field textarea{
    font-family:'Inter',sans-serif;font-size:14px;padding:9px 10px;
    border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--text);
  }
  .field textarea{resize:vertical;min-height:70px;}
  .field input:focus,.field select:focus,.field textarea:focus{background:#fff;}
  .select-search-input{
    font-family:'Inter',sans-serif;font-size:13px;padding:8px 10px;margin-bottom:6px;
    border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--text);width:100%;
  }
  .select-search-input:focus{background:#fff;}
  .items-row{display:grid;grid-template-columns:1fr 110px 34px;gap:8px;margin-bottom:8px;align-items:center;}
  .form-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
  .btn{
    font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14.5px;text-transform:uppercase;letter-spacing:.04em;
    padding:9px 16px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;
    display:inline-flex;align-items:center;gap:6px;
  }
  .btn-primary{background:var(--accent);color:#fff;}
  .btn-primary:hover{background:var(--accent-dark);}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);}
  .btn-ghost:hover{background:var(--paper-2);}
  .btn-danger{background:transparent;color:#A03B1E;border-color:#E0B3A2;}
  .btn-danger:hover{background:#F7ECE8;}
  .btn-sm{padding:5px 10px;font-size:12.5px;}
  .btn .nav-ic{width:14px;height:14px;flex:none;}
  .nav-ic{width:16px;height:16px;display:inline-block;vertical-align:middle;flex:none;}
  .btn:disabled{opacity:.5;cursor:not-allowed;}

  select.status-inline{
    font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:12.5px;text-transform:uppercase;
    border:1px solid var(--line);border-radius:20px;padding:4px 10px;background:var(--white);color:var(--ink);
  }

  .search-bar{margin-bottom:14px;}
  .search-bar input{
    width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);
    background:var(--white);font-family:'Inter',sans-serif;font-size:14px;
  }

  .total-line{display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:14px;padding-top:8px;margin-top:4px;border-top:1px solid var(--line);}
  .total-line b{color:var(--ink);font-size:16px;}
  .mat-add-row{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:end;}
  @media(max-width:480px){.mat-add-row{grid-template-columns:1fr;}.mat-add-row button{width:100%;justify-content:center;}}

  footer.hint{max-width:980px;margin:0 auto;padding:0 20px 40px;color:var(--muted);font-size:12px;text-align:center;}

  /* Print sheet (recibo/laudo) */
  #printSheet{display:none;}
  @media print{
    body *{visibility:hidden;}
    #printSheet, #printSheet *{visibility:visible;}
    #printSheet{display:block !important;position:absolute;top:0;left:0;width:100%;padding:30px;font-family:'Inter',sans-serif;}
  }

  .choice-line{margin-top:10px;font-size:13px;line-height:1.7;}
  .choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;font-size:12.5px;}
  .result-ok{margin-top:12px;border:1.5px solid #3C6E47;background:#F1F7F1;padding:10px;text-align:center;color:#2f5938;}
  .result-ok b{font-size:15px;letter-spacing:.04em;}
  .result-ok span{font-size:11.5px;}
  @media(max-width:700px){.choice-grid{grid-template-columns:repeat(2,1fr);}}

  .toast{
    position:fixed;bottom:18px;left:50%;transform:translateX(-50%) translateY(20px);
    background:var(--ink);color:#fff;padding:10px 18px;border-radius:4px;font-size:13.5px;
    opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:100;
    font-family:'Inter',sans-serif;
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  .laudo-form-section{border:1px solid var(--line);background:var(--white);padding:14px;margin:14px 0;}
  .check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;}
  .check-grid.locations{grid-template-columns:repeat(4,minmax(0,1fr));}
  .check-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px;}
  .check-item input{width:16px;height:16px;accent-color:var(--accent);flex:none;}
  @media(max-width:700px){.check-grid,.check-grid.locations{grid-template-columns:1fr;}}

  .loading{padding:30px;text-align:center;color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:12.5px;}

  /* ---------- GATE (LOGIN) ---------- */
  #authGate{
    position:fixed;inset:0;background:var(--ink);z-index:200;
    display:flex;align-items:center;justify-content:center;padding:20px;
    background-image:repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 12px);
  }
  #authGate.hidden{display:none;}
  .gate-box{
    background:var(--white);border-radius:3px;padding:26px 24px;width:100%;max-width:360px;
    box-shadow:0 10px 40px rgba(0,0,0,.3);
  }
  .gate-box h2{font-family:'Barlow Condensed',sans-serif;font-size:22px;color:var(--ink);margin:0 0 4px;text-transform:uppercase;}
  .gate-box .sub{color:var(--muted);font-size:12.5px;margin-bottom:16px;}
  .gate-note{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.5;border-top:1px dashed var(--line);padding-top:10px;}
  .gate-error{color:#A03B1E;font-size:12.5px;margin-top:8px;display:none;}
  .gate-error.show{display:block;}
  .gate-note a{color:var(--ink);font-weight:600;}
  .trial-banner{padding:8px 16px;text-align:center;font-size:12.5px;font-weight:600;color:#fff;background:var(--ink);}
  .trial-banner.warn{background:var(--warn);color:#fff;}

  /* ---------- LOGO / HEADER EXTRAS ---------- */
  .logo-img{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:2px;flex:none;}
  .head-actions{display:flex;align-items:center;gap:14px;}
  .icon-btn{
    background:transparent;border:1px solid rgba(255,255,255,.25);color:#C6CEE0;
    font-family:'Barlow Condensed',sans-serif;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;
    padding:6px 11px;border-radius:20px;cursor:pointer;
  }
  .icon-btn:hover{background:rgba(255,255,255,.1);color:#fff;}

  /* ---------- FINANCEIRO ---------- */
  .bar-row{margin-bottom:12px;}
  .bar-row .bar-label{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:4px;}
  .bar-row .bar-label b{font-family:'IBM Plex Mono',monospace;color:var(--ink);}
  .bar-track{height:8px;background:var(--paper-2);border-radius:6px;overflow:hidden;}
  .bar-fill{height:100%;background:var(--accent);border-radius:6px;}


/* ===== DOCUMENTOS PROFISSIONAIS V5 — modelo "Ordem de Serviço" com selo/cabeçalho corporativo ===== */
svg.ic{width:14px;height:14px;flex:none;display:inline-block;vertical-align:middle}
.doc-page{width:210mm;min-height:297mm;background:#fff;margin:0 auto;padding:9mm 10mm 12mm;box-sizing:border-box;color:#182033;font-family:Arial,sans-serif;position:relative}
.doc-page.compact{min-height:210mm}

/* Cabeçalho corporativo — logo/empresa | contatos | caixa Nº do documento */
.doc-pro-header{display:grid;grid-template-columns:34% 35% 31%;align-items:stretch;border:1.5px solid #12356f;border-radius:8px;overflow:hidden;margin-bottom:10px;background:#fff;min-height:26mm}
.doc-pro-brand{display:flex;align-items:center;gap:10px;padding:10px 12px;border-right:1px solid #d9e0ea;min-width:0}
.doc-pro-logo{width:16mm;height:16mm;object-fit:contain;flex:none}
.doc-pro-company{min-width:0;flex:1}
.doc-pro-company-name{font-size:13.5px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.005em;color:#12244b;word-break:normal;overflow-wrap:break-word;hyphens:none}
.doc-pro-company-sub{font-size:7.6px;color:#65728a;margin-top:5px;font-weight:600}
.doc-pro-contacts{padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;border-right:1px solid #d9e0ea;background:#f8f9fc}
.doc-contact-item{display:flex;align-items:flex-start;gap:6px;font-size:7.8px;line-height:1.3;color:#33405c;overflow-wrap:anywhere}
.doc-contact-item .ic{width:10px;height:10px;flex:none;margin-top:.5px;color:#12356f}
.doc-contact-label{font-weight:800;color:#172a53;text-transform:uppercase;letter-spacing:.03em;margin-right:2px}
.doc-pro-document{background:#12356f;color:#fff;padding:9px 10px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;text-align:center}
.doc-pro-doclabel{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#fff;line-height:1.15;margin-bottom:7px}
.doc-pro-numbox{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);border-radius:5px;padding:5px 6px 6px;margin-bottom:6px}
.doc-pro-numbox span{display:block;font-size:6.4px;font-weight:800;letter-spacing:.1em;color:#c9d5ec;margin-bottom:2px}
.doc-pro-numbox b{display:block;font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:800;color:#fff;line-height:1}
.doc-pro-date{padding-top:2px;color:#e7ecf7}
.doc-pro-date span{display:flex;align-items:center;justify-content:center;gap:4px;font-size:6.4px;font-weight:800;letter-spacing:.08em;color:#c9d5ec}
.doc-pro-date span .ic{width:9px;height:9px}
.doc-pro-date b{display:block;font-size:8.5px;margin-top:2px;font-weight:700}

/* Seções numeradas */
.doc-section{margin:0 0 8px;border:1px solid #dfe3ea;border-radius:6px;overflow:hidden;break-inside:avoid;page-break-inside:avoid}
.section-title{background:#12356f;color:#fff;border-bottom:1px solid #dfe3ea;padding:6px 10px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.info-grid>div{padding:8px 10px;border-right:1px solid #e5e8ee;border-bottom:1px solid #e5e8ee;min-height:38px;box-sizing:border-box}
.info-grid>div:nth-child(2n){border-right:0}
.info-grid .wide{grid-column:1/-1;border-right:0}
.info-grid small{display:block;color:#758096;font-size:7.6px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.info-grid b{font-size:10.5px;font-weight:600;overflow-wrap:anywhere;word-break:break-word}
.info-grid>div{break-inside:avoid;page-break-inside:avoid}

/* Grade de dados com ícone (cliente / serviço) */
.idata-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.idata-item{display:flex;gap:7px;align-items:flex-start;padding:8px 10px;border-right:1px solid #e5e8ee;border-bottom:1px solid #e5e8ee;min-height:36px;box-sizing:border-box;break-inside:avoid;page-break-inside:avoid}
.idata-item:nth-child(3n){border-right:0}
.idata-item.wide{grid-column:1/-1}
.idata-ic{width:14px;height:14px;flex:none;color:#12356f;margin-top:2px}
.idata-item .ic{width:14px;height:14px;flex:none;color:#12356f;margin-top:2px}
.idata-item small{display:block;color:#758096;font-size:7.4px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.idata-item b{font-size:10px;font-weight:600;overflow-wrap:anywhere;word-break:break-word;display:block}
.idata-grid-5 .idata-item b{white-space:nowrap;font-size:9.6px}
@media(max-width:700px){.idata-grid{grid-template-columns:1fr 1fr}}
.idata-grid-5{display:grid;grid-template-columns:repeat(5,1fr)}
.idata-grid-5 .idata-item:nth-child(3n){border-right:1px solid #e5e8ee}
.idata-grid-5 .idata-item:last-child{border-right:0}
.doc-status-pill{display:inline-block;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:20px;background:var(--ok-bg,#E4EEE4);color:var(--ok,#3C6E47);border:1px solid #A9C7AC;white-space:nowrap}

.doc-text{padding:10px 12px;font-size:10.5px;line-height:1.6;white-space:pre-wrap}
.doc-note{background:#f7f8fa;border-left:4px solid #12356f;padding:8px 11px;font-size:9px;color:#596579;margin-bottom:10px;border-radius:4px}
.doc-table{width:100%;border-collapse:collapse;font-size:9.5px}
.doc-table th,.doc-table td{padding:7px 9px;border-bottom:1px solid #e2e6ec;text-align:left}
.doc-table th{font-size:7.8px;text-transform:uppercase;letter-spacing:.03em;background:#eef1f8;color:#33405c}
.doc-table .money{text-align:right;white-space:nowrap}
.doc-table .num{text-align:center;white-space:nowrap}
.doc-table tfoot th{font-size:10px;background:#f7f8fa}
.doc-table-wrap{overflow:hidden}
.doc-table-total{display:flex;justify-content:space-between;align-items:center;background:#eef1f8;padding:8px 10px;font-size:10px;font-weight:800;color:#12244b;text-transform:uppercase;letter-spacing:.04em}
.doc-table-total b{font-family:'IBM Plex Mono',monospace;font-size:12px}
.terms{font-size:9px}.terms>div:last-child{padding:9px 10px;line-height:1.5;color:#596579}

/* Resumo financeiro estilo "calculadora" */
.summary-band{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.2fr;align-items:center;gap:6px;padding:12px 10px}
.summary-cell{text-align:center}
.summary-cell small{display:block;font-size:7.4px;text-transform:uppercase;letter-spacing:.06em;color:#758096;margin-bottom:4px}
.summary-cell b{font-size:12.5px;color:#182033}
.summary-op{font-size:16px;font-weight:800;color:#9aa5bd;text-align:center}
.summary-cell.total{background:#12356f;border-radius:6px;padding:8px 10px}
.summary-cell.total small{color:#c9d5ec}
.summary-cell.total b{color:#fff;font-size:16px;font-family:'IBM Plex Mono',monospace}
.summary-pay{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #e5e8ee;padding:8px 10px;font-size:9.5px;color:#33405c}
.summary-pay b{color:#12244b}
@media(max-width:700px){.summary-band{grid-template-columns:1fr;}.summary-op{display:none}}

/* Observações + fotos lado a lado */
.doc-cols-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
@media(max-width:700px){.doc-cols-2{grid-template-columns:1fr}}

.sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:16px;min-height:78px}
.signature-area{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:end}
.signature-img{max-width:180px;max-height:56px;object-fit:contain;margin-bottom:-5px}
.signature-line{border-top:1px solid #293142;width:85%;margin:5px auto 5px}
.signature-area b{font-size:9px}
.signature-area small{font-size:8px;color:#687286;margin-top:2px}

/* Bloco "Nosso Compromisso" */
.commit-box{display:flex;gap:9px;align-items:flex-start;background:#f4f6fb;border:1px solid #dfe3ea;border-radius:6px;padding:10px 11px;margin-top:16px}
.commit-box .ic{width:22px;height:22px;flex:none;color:#12356f;margin-top:1px}
.commit-box b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#12244b;margin-bottom:3px}
.commit-box p{margin:0;font-size:8.6px;line-height:1.5;color:#596579}
.commit-box .thanks{margin-top:5px;font-size:8.6px;font-weight:800;color:#12356f}

.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px}
.photo-grid.tri{grid-template-columns:repeat(3,1fr)}
.photo-grid figure{margin:0;border:1px solid #dfe3ea;padding:4px;break-inside:avoid;page-break-inside:avoid;border-radius:4px}
.photo-grid img{width:100%;height:34mm;object-fit:cover;background:#f7f8fa;display:block;break-inside:avoid;page-break-inside:avoid;border-radius:2px}
.photo-grid figcaption{font-size:7.5px;color:#687286;padding:4px 2px 1px}
.photo-section{break-inside:avoid;page-break-inside:avoid}

.receipt-amount{text-align:center;font-size:28px;font-weight:800;margin:22px 0;color:#12356f}
.receipt-text{font-size:12.5px;line-height:1.8;text-align:justify;padding:16px 8px;border-top:1px solid #e0e4ea;border-bottom:1px solid #e0e4ea}
.receipt-info{margin-top:18px;border:1px solid #dfe3ea;border-radius:6px}
.receipt-info>div{border-bottom:0!important}

/* Rodapé com dados da empresa */
.doc-footer-band{border-top:1px solid #e1e4e9;padding-top:8px;margin-top:8px;display:flex;justify-content:space-between;gap:12px;color:#657086;font-size:8px;line-height:1.6}
.doc-footer-band b{color:#182033;font-size:9px}

/* Faixa de selos de confiança, rodapé estilo institucional */
.doc-trust-band{margin-top:9px;background:#12356f;border-radius:6px;padding:8px 6px;display:grid;grid-template-columns:repeat(4,1fr)}
.doc-trust-item{display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:7.6px;font-weight:700;text-align:left;border-right:1px solid rgba(255,255,255,.2);padding:0 6px}
.doc-trust-item:last-child{border-right:0}
.doc-trust-item .ic{width:15px;height:15px;flex:none;color:#fff}
@media(max-width:700px){.doc-trust-band{grid-template-columns:repeat(2,1fr);gap:6px}.doc-trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:5px}}

@media print{
  body>*:not(#printSheet){display:none!important}
  #printSheet{display:block!important}
  .doc-page{margin:0;box-shadow:none}
  .no-print{display:none!important}
  .doc-pro-header{margin-bottom:8px}
  .doc-section{break-inside:auto;page-break-inside:auto}
  .info-grid,.idata-grid,.idata-grid-5{break-inside:auto;page-break-inside:auto}
  .info-grid>div,.idata-item{break-inside:avoid;page-break-inside:avoid}
}

/* Ajustes V4.1 — edição de OS e apresentação profissional */
.os-photo-edit{position:relative;width:72px;height:72px}.os-photo-edit img{width:72px;height:72px;object-fit:cover;border:1px solid var(--line);border-radius:2px}.os-photo-edit button{position:absolute;left:2px;right:2px;bottom:2px;border:0;border-radius:2px;background:rgba(27,42,74,.9);color:#fff;font-size:9px;padding:3px;cursor:pointer}

/* Ordem de serviço — acabamento de impressão inspirado no formulário corporativo. */
.doc-pro-logo-fallback{display:grid;place-items:center;background:#12356f;color:#fff;border-radius:50%;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:900;letter-spacing:.04em}
.doc-pro-company-sub{font-size:7.2px;color:#61708b;margin-top:3px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.doc-pro-document-subtitle{font-size:6.6px;font-weight:600;letter-spacing:0;text-transform:none;color:#c9d5ec;margin-top:3px}
.doc-section{border:0;border-radius:0;overflow:visible;margin:0 0 7px;position:relative}
.section-title{position:relative;display:flex;align-items:center;width:100%;box-sizing:border-box;padding:6px 12px;border:0;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#08285c,#123f85);font-size:8.8px;line-height:1.2;z-index:1}
.section-title::after,.section-title::before{display:none}
.doc-section>.idata-grid,.doc-section>.info-grid,.doc-section>.doc-text,.doc-section>.doc-table-wrap,.doc-section>.summary-band,.doc-section>.summary-pay,.doc-section>.photo-grid,.doc-section>.doc-table-total{border-left:1px solid #d9e0ea;border-right:1px solid #d9e0ea}
.doc-section>.idata-grid,.doc-section>.info-grid{border-bottom:1px solid #d9e0ea}
.doc-section>.doc-text{border-bottom:1px solid #d9e0ea;background:#fff}
.doc-section>.doc-table-wrap{border-bottom:0}
.doc-section>.doc-table-total{border-bottom:1px solid #d9e0ea}
.doc-section>.summary-pay{border-bottom:1px solid #d9e0ea}
.doc-section>.photo-grid{border-bottom:1px solid #d9e0ea}
.idata-item{padding:7px 9px;min-height:33px}
.idata-item small{font-size:7px}.idata-item b{font-size:9.4px}
.doc-text{padding:8px 10px;font-size:9.5px;line-height:1.45}
.doc-table th,.doc-table td{padding:5px 7px}.doc-table th{font-size:7.2px}.doc-table{font-size:8.8px}
.doc-table-total{padding:6px 9px}.summary-band{padding:8px 9px}.summary-pay{padding:6px 9px;font-size:8.7px}
.doc-cols-2{gap:8px;margin-bottom:7px}.photo-grid{gap:6px;padding:7px}.photo-grid img{height:27mm}.photo-grid figure{padding:3px}
.doc-signature-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;margin-top:2px}.doc-signature-section{margin:0}.doc-signature-section .signature-area{min-height:53px;margin:0;padding:6px 0 7px}.doc-signature-section .signature-img{max-height:38px;margin-bottom:-2px}.doc-signature-section .signature-line{margin:3px auto 4px}
.commit-box{margin-top:8px;padding:7px 9px}.commit-box p{font-size:8px}.commit-box .thanks{font-size:8px}
.doc-footer-band{margin-top:7px;padding-top:6px;font-size:7px}.doc-trust-band{margin-top:6px;padding:6px}.doc-trust-item{font-size:6.8px}
@page{size:A4 portrait;margin:0}
@media print{
  html,body{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  #printSheet{width:100%!important;padding:0!important;background:#fff}
  /* A folha já é A4. Forçar outra largura de 210 mm dentro dela faz o Chrome
     reduzir todo o conteúdo; 100% usa a área realmente imprimível. */
  .doc-page{width:100%!important;min-height:0!important;margin:0!important;padding:7mm 8mm 8mm!important;box-sizing:border-box!important}
  /* O motor de impressão do Chrome pode paginar cada item de uma CSS Grid.
     Em papel, usamos flexbox para preservar as mesmas colunas sem gerar páginas vazias. */
  .idata-grid,.idata-grid-5,.info-grid,.doc-signature-row{display:flex!important;flex-wrap:wrap!important}
  .idata-grid .idata-item{width:33.333%!important}
  .idata-grid .idata-item.wide{width:100%!important}
  .idata-grid-5 .idata-item{width:20%!important}
  .info-grid>div{width:50%!important}
  .info-grid>div.wide{width:100%!important}
  .doc-signature-section{width:calc(50% - 5px)!important}
  .idata-item,.info-grid>div,.doc-signature-section{box-sizing:border-box;break-inside:auto!important;page-break-inside:auto!important}
  .doc-pro-header,.doc-trust-band,.commit-box{break-inside:avoid!important;page-break-inside:avoid!important}
  .doc-section{break-inside:auto!important;page-break-inside:auto!important;break-after:auto!important;page-break-after:auto!important}
}
