  :root{
    --bg:#1C1C1E; --surface1:#242426; --surface2:#2C2C2E; --surface3:#353537;
    --border:#3D3D40; --border-strong:#4C4C4F;
    --text-primary:#F2F2F3; --text-secondary:#B5B5B8; --text-muted:#818184;
    --red:#E0454C; --red-bg:rgba(224,69,76,0.16); --red-text:#FF9498;
    --amber:#E8A33D; --amber-bg:rgba(232,163,61,0.16); --amber-text:#FFC876;
    --green:#4FAE78; --green-bg:rgba(79,174,120,0.16); --green-text:#7FD6A2;
    --blue:#4A90D9; --blue-bg:rgba(74,144,217,0.16); --blue-text:#8CC0F5;
    --violet:#9B7FE8; --violet-bg:rgba(155,127,232,0.16); --violet-text:#C4B3F5;
    --grey:#9A9A9E; --grey-bg:rgba(154,154,158,0.16);
    --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  }

  body.light-theme{
  --bg:#F5F5F7; --surface1:#FFFFFF; --surface2:#F0F0F2; --surface3:#E6E6E9;
  --border:#DEDEE1; --border-strong:#C7C7CB;
  --text-primary:#1C1C1E; --text-secondary:#55555A; --text-muted:#8A8A8E;
  --red:#E0454C; --red-bg:rgba(224,69,76,0.10); --red-text:#C22930;
  --amber:#E8A33D; --amber-bg:rgba(232,163,61,0.12); --amber-text:#8A5A12;
  --green:#4FAE78; --green-bg:rgba(79,174,120,0.12); --green-text:#2F7A4E;
  --blue:#4A90D9; --blue-bg:rgba(74,144,217,0.10); --blue-text:#2A6BB0;
  --violet:#9B7FE8; --violet-bg:rgba(155,127,232,0.10); --violet-text:#6B4FC4;
  --grey:#9A9A9E; --grey-bg:rgba(154,154,158,0.12);
  }

  *{box-sizing:border-box;}
  body{margin:0;background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5;padding:0 0 4rem;}
  .wrap{max-width:1040px;margin:0 auto;padding:2rem 1.5rem;}
  a{color:var(--blue-text);}

  /* ---------- login ---------- */
  #loginScreen{min-height:80vh;display:flex;align-items:center;justify-content:center;}
  .login-card{width:100%;max-width:420px;background:var(--surface1);border:1px solid var(--border);border-radius:14px;padding:2rem;}
  .login-card .brand{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12.5px;font-weight:600;letter-spacing:.04em;margin-bottom:14px;}
  .login-card .dot{width:8px;height:8px;border-radius:50%;background:var(--red);}
  .login-logo{height:30px;margin-bottom:20px;display:block;}
  .login-card h1{font-size:19px;font-weight:600;margin:0 0 6px;}
  .login-card p.sub{color:var(--text-secondary);font-size:13.5px;margin:0 0 22px;}
  .role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
  .role-btn{background:var(--surface2);border:1px solid var(--border-strong);border-radius:10px;padding:14px 10px;text-align:center;cursor:pointer;color:var(--text-primary);font-family:var(--font-sans);font-size:13px;font-weight:600;transition:background .12s,border-color .12s;}
  .role-btn:hover{background:var(--surface3);}
  .role-btn.selected{border-color:var(--red);background:var(--red-bg);color:var(--red-text);}
  .role-btn .sub{display:block;font-weight:400;color:var(--text-muted);font-size:11px;margin-top:3px;}
  .role-btn.selected .sub{color:var(--red-text);opacity:.85;}
  #passwordRow{display:none;gap:8px;margin-top:4px;}
  #passwordRow input{flex:1;font-family:var(--font-sans);font-size:14px;background:var(--surface2);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-primary);padding:10px 12px;}
  #passwordRow button{font-family:var(--font-sans);font-size:13.5px;font-weight:600;background:var(--red);border:1px solid var(--red);color:#fff;border-radius:8px;padding:10px 16px;cursor:pointer;white-space:nowrap;}
  #passwordRow button:hover{background:#c93a40;}
  .login-error{color:var(--red-text);font-size:12.5px;margin-top:8px;display:none;}
  .login-note{color:var(--text-muted);font-size:11.5px;margin-top:18px;line-height:1.6;border-top:1px solid var(--border);padding-top:14px;}

  /* ---------- app shell ---------- */
  #app{display:none;}
  header{margin-bottom:1.75rem;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
  .app-logo{height:26px;margin-bottom:12px;display:block;}
  .brand{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;}
  .brand .dot{width:8px;height:8px;border-radius:50%;background:var(--red);}
  h1{font-size:24px;font-weight:600;margin:0 0 4px;}
  .sub{color:var(--text-secondary);font-size:14px;margin:0;}
  .updated{color:var(--text-muted);font-size:12px;margin-top:6px;font-family:var(--font-mono);}
  .session-box{text-align:right;flex-shrink:0;}
  .role-pill{font-family:var(--font-mono);font-size:11px;font-weight:600;background:var(--surface2);border:1px solid var(--border-strong);border-radius:999px;padding:5px 12px;display:inline-block;}
  .session-box .logout{display:block;font-size:12px;color:var(--text-muted);margin-top:8px;cursor:pointer;text-decoration:underline;}
  .readonly-note{background:var(--blue-bg);color:var(--blue-text);font-size:12px;padding:8px 12px;border-radius:8px;margin-bottom:1.25rem;display:none;}

  .main-nav{display:flex;gap:8px;margin-bottom:1.5rem;border-bottom:1px solid var(--border);}
  .nav-btn{font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;padding:10px 4px;margin-right:18px;cursor:pointer;}
  .nav-btn:hover{color:var(--text-secondary);}
  .nav-btn.active{color:var(--text-primary);border-bottom-color:var(--red);}

  .log-filters{display:flex;gap:8px;margin-bottom:1rem;flex-wrap:wrap;align-items:center;}
  .log-search{font-family:var(--font-sans);font-size:13px;background:var(--surface2);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-primary);padding:8px 12px;flex:1;min-width:180px;}
  table.log-table{width:100%;border-collapse:collapse;font-size:12.5px;}
  table.log-table th{text-align:left;font-size:11px;color:var(--text-muted);font-weight:600;padding:9px 10px;border-bottom:1px solid var(--border-strong);white-space:nowrap;}
  table.log-table td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle;}
  table.log-table tr:hover td{background:var(--surface2);}
  table.log-table .rack-link{cursor:pointer;color:var(--text-primary);font-weight:600;}
  table.log-table .rack-link:hover{text-decoration:underline;}
  .type-tag{font-size:10.5px;font-family:var(--font-mono);padding:2px 8px;border-radius:6px;font-weight:600;}
  .type-tag.prev{background:var(--blue-bg);color:var(--blue-text);}
  .type-tag.corr{background:var(--red-bg);color:var(--red-text);}

  .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin:1.5rem 0;}
  .stat{background:var(--surface1);border:1px solid var(--border);border-radius:10px;padding:14px 16px;}
  .stat .n{font-family:var(--font-mono);font-size:26px;font-weight:600;line-height:1;}
  .stat .l{font-size:12px;color:var(--text-secondary);margin-top:6px;}
  .stat.overdue .n{color:var(--red-text);}
  .stat.soon .n{color:var(--amber-text);}
  .stat.ok .n{color:var(--green-text);}
  .stat.never .n{color:var(--grey);}
  .stat.transit .n{color:var(--blue-text);}

  .panel{background:var(--surface1);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem;}
  .panel h2{font-size:15px;font-weight:600;margin:0 0 2px;display:flex;align-items:center;gap:8px;}
  .panel .desc{font-size:12.5px;color:var(--text-muted);margin:0 0 1rem;}

  .priority-list{display:flex;flex-direction:column;gap:6px;}
  .priority-list.scroll-list{max-height:420px;overflow-y:auto;padding-right:6px;}
  .priority-list.scroll-list::-webkit-scrollbar{width:8px;}
  .priority-list.scroll-list::-webkit-scrollbar-track{background:var(--surface2);border-radius:4px;}
  .priority-list.scroll-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px;}
  .priority-list.scroll-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted);}
  .priority-row{display:grid;grid-template-columns:26px 1fr auto auto auto;align-items:center;gap:12px;padding:9px 10px;background:var(--surface2);border-radius:8px;}
  .priority-fam-header{font-size:11.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding:10px 4px 4px;}
  .priority-fam-header:first-child{padding-top:0;}
  .priority-row .rank{font-family:var(--font-mono);color:var(--text-muted);font-size:12px;text-align:center;}
  .priority-row .fam{font-size:13.5px;cursor:pointer;}
  .priority-row .fam:hover{text-decoration:underline;}
  .priority-row .fam .unit{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px;margin-left:6px;}
  .priority-row .days{font-family:var(--font-mono);font-size:13px;white-space:nowrap;}
  .empty-note{color:var(--text-muted);font-size:13px;padding:8px 2px;}

  .filters{display:flex;gap:8px;margin-bottom:1rem;flex-wrap:wrap;}
  .chip{border:1px solid var(--border-strong);background:var(--surface2);color:var(--text-secondary);font-size:12.5px;padding:6px 12px;border-radius:999px;cursor:pointer;font-family:var(--font-sans);transition:background .12s,color .12s,border-color .12s;}
  .chip:hover{background:var(--surface3);}
  .chip.active{background:var(--text-primary);color:var(--surface1);border-color:var(--text-primary);}

  .fam-card{background:var(--surface1);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden;}
  .fam-head{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;user-select:none;}
  .fam-head:hover{background:var(--surface2);}
  .fam-head .chev{color:var(--text-muted);font-size:16px;transition:transform .15s;flex-shrink:0;}
  .fam-card.open .chev{transform:rotate(90deg);}
  .fam-title{flex:1;min-width:0;}
  .fam-title .name{font-size:14.5px;font-weight:600;}
  .fam-title .meta{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);margin-top:2px;}
  .fam-badges{display:flex;gap:6px;flex-shrink:0;}
  .badge{font-family:var(--font-mono);font-size:11.5px;padding:3px 8px;border-radius:6px;font-weight:600;}
  .badge.overdue{background:var(--red-bg);color:var(--red-text);}
  .badge.soon{background:var(--amber-bg);color:var(--amber-text);}
  .badge.never{background:var(--grey-bg);color:var(--grey);}
  .badge.transit{background:var(--blue-bg);color:var(--blue-text);}
  .badge.segregado{background:var(--violet-bg);color:var(--violet-text);}

  .fam-body{display:none;border-top:1px solid var(--border);}
  .fam-card.open .fam-body{display:block;}
  table.rack-table{width:100%;border-collapse:collapse;font-size:13px;}
  table.rack-table th{text-align:left;font-size:11px;color:var(--text-muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);}
  table.rack-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle;}
  table.rack-table tr:last-child td{border-bottom:none;}
  table.rack-table tr.row-ok td{background:var(--green-bg);}
  table.rack-table tr.row-soon td{background:var(--amber-bg);}
  table.rack-table tr.row-overdue td{background:var(--red-bg);}
  table.rack-table tr.row-transit td{background:var(--blue-bg);}
  table.rack-table tr.row-segregado td{background:var(--violet-bg);}
  table.rack-table tr.row-never td{background:transparent;}
  table.rack-table tr.just-updated td{animation:flash-highlight 2.2s ease-out;}
  @keyframes flash-highlight{
    0%{background:var(--surface3);}
    100%{background:inherit;}
  }
  .unit-id{font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;}
  .unit-id:hover{color:var(--text-primary);text-decoration:underline;}
  .status-pill{display:inline-block;font-size:11px;font-family:var(--font-mono);padding:3px 9px;border-radius:999px;font-weight:600;}
  .status-pill.overdue{background:var(--red-bg);color:var(--red-text);}
  .status-pill.soon{background:var(--amber-bg);color:var(--amber-text);}
  .status-pill.ok{background:var(--green-bg);color:var(--green-text);}
  .status-pill.never{background:var(--grey-bg);color:var(--grey);}
  .status-pill.transit{background:var(--blue-bg);color:var(--blue-text);}
  .status-pill.segregado{background:var(--violet-bg);color:var(--violet-text);}
  .days-cell{font-family:var(--font-mono);color:var(--text-secondary);}
  .row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;}
  button.act{font-family:var(--font-sans);font-size:12px;background:var(--surface3);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:7px;padding:6px 10px;cursor:pointer;white-space:nowrap;}
  button.act:hover{background:var(--border-strong);}
  button.act.primary{background:var(--red);border-color:var(--red);color:#fff;}
  button.act.primary:hover{background:#c93a40;}
  button.act.blue{background:var(--blue);border-color:var(--blue);color:#fff;}
  button.act.blue:hover{background:#3a7cc0;}
  button.act.outline-danger{background:none;border-color:var(--red);color:var(--red-text);}
  button.act.outline-danger:hover{background:var(--red-bg);}

  /* ---------- rack detail "tab" ---------- */
  #rackDetail{display:none;}
  .back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;margin-bottom:1.25rem;background:none;border:none;font-family:var(--font-sans);padding:0;}
  .back-link:hover{color:var(--text-primary);}
  .rack-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:1.5rem;flex-wrap:wrap;}
  .rack-header h1{font-size:21px;margin:0 0 4px;}
  .rack-header .meta-line{color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);}
  .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1.25rem;}
  .tech-sheet{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start;}
  .family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
  .family-card-select{background:var(--surface2);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color .15s;}
  .family-card-select:hover{border-color:var(--border-strong);}
  .family-card-photo{width:100%;height:140px;object-fit:cover;background:var(--surface3);display:block;}
  .family-card-body{padding:12px 14px;}
  .family-card-title{font-size:14px;font-weight:600;margin-bottom:2px;}
  .family-card-meta{font-size:11.5px;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:8px;}
  .family-card-badges{display:flex;gap:6px;flex-wrap:wrap;}
  .tech-sheet-photo{width:260px;max-width:100%;border-radius:10px;object-fit:cover;border:1px solid var(--border);flex-shrink:0;}
  .tech-sheet-specs{flex:1;min-width:260px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
  .spec-group{margin-bottom:14px;}
  .spec-group h4{font-size:11.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;border-bottom:1px solid var(--border);padding-bottom:6px;}
  .spec-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:4px 0;}
  .spec-row .l{color:var(--text-muted);}
  .spec-row .v{color:var(--text-primary);text-align:right;font-family:var(--font-mono);font-size:12px;}
  .info-card{background:var(--surface1);border:1px solid var(--border);border-radius:10px;padding:12px 16px;}
  .info-card .l{font-size:11.5px;color:var(--text-muted);margin-bottom:4px;}
  .info-card .v{font-size:14px;font-family:var(--font-mono);}
  .action-panel{background:var(--surface1);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.25rem;text-align:center;}
  .action-panel button.big{font-family:var(--font-sans);font-size:15px;font-weight:600;padding:14px 28px;border-radius:10px;border:none;cursor:pointer;color:#fff;}
  .action-panel button.big.collect{background:var(--blue);}
  .action-panel button.big.collect:hover{background:#3a7cc0;}
  .action-panel button.big.finish{background:var(--red);}
  .action-panel button.big.finish:hover{background:#c93a40;}
  .action-panel .hint{font-size:12px;color:var(--text-muted);margin-top:10px;}
  .action-panel .cancel-link{font-size:12.5px;color:var(--text-muted);margin-top:14px;background:none;border:none;cursor:pointer;text-decoration:underline;font-family:var(--font-sans);}
  .action-panel .cancel-link:hover{color:var(--red-text);}
  .manual-fix{background:var(--surface1);border:1px solid var(--border);border-radius:12px;padding:1rem 1.5rem;margin-bottom:1.25rem;}
  .manual-fix summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--text-secondary);}
  .manual-fix .fix-row{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap;}
  .manual-fix label{font-size:12.5px;color:var(--text-muted);min-width:110px;}
  .manual-fix input[type=date]{font-family:var(--font-mono);font-size:12.5px;background:var(--surface2);border:1px solid var(--border-strong);border-radius:7px;color:var(--text-primary);padding:6px 8px;}

  table.history-table{width:100%;border-collapse:collapse;font-size:12.5px;}
  table.history-table th{text-align:left;font-size:11px;color:var(--text-muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);}
  table.history-table td{padding:8px 10px;border-bottom:1px solid var(--border);font-family:var(--font-mono);color:var(--text-secondary);}
  table.history-table tr:last-child td{border-bottom:none;}

  /* ---------- corrective maintenance ---------- */
  .corrective-form{background:var(--surface2);border:1px solid var(--border-strong);border-radius:10px;padding:14px 16px;margin:12px 0;}
  .spare-checklist{max-height:200px;overflow-y:auto;background:var(--surface1);border:1px solid var(--border);border-radius:8px;padding:8px 10px;}
  .user-account-card{background:var(--surface2);border:1px solid var(--border-strong);border-radius:10px;padding:14px 16px;margin-bottom:12px;}
  .user-account-card.disabled{opacity:0.6;}
  .user-account-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;}
  .spare-check-item{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:12.5px;cursor:pointer;}
  .spare-check-item input{margin-top:2px;flex-shrink:0;}
  .spare-cat{color:var(--text-muted);font-size:11px;}
  .form-row{margin-bottom:10px;}
  .form-row label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px;}
  .form-row input[type=date], .form-row input[type=text], .form-row select{width:100%;font-family:var(--font-sans);font-size:13px;background:var(--surface3);border:1px solid var(--border-strong);border-radius:7px;color:var(--text-primary);padding:8px 10px;}
  .form-row textarea{width:100%;min-height:64px;font-family:var(--font-sans);font-size:13px;background:var(--surface3);border:1px solid var(--border-strong);border-radius:7px;color:var(--text-primary);padding:8px 10px;resize:vertical;}
  .form-actions{display:flex;gap:8px;margin-top:4px;}
  .form-error{color:var(--red-text);font-size:12px;margin-top:8px;}
  .form-success{color:var(--green-text);font-size:12px;margin-top:8px;}
  .corrective-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:10px;}
  .corrective-card.open{border-color:var(--red);}
  .corrective-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap;}
  .corrective-card-head .when{font-size:12px;color:var(--text-muted);}
  .corrective-card-head .delete-link{margin-left:auto;font-size:11.5px;color:var(--text-muted);cursor:pointer;text-decoration:underline;background:none;border:none;font-family:var(--font-sans);}
  .corrective-card-head .delete-link:hover{color:var(--red-text);}
  .corrective-problem{font-size:13.5px;margin-bottom:8px;}
  .corrective-closed-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12.5px;color:var(--text-secondary);margin-top:8px;}
  .corrective-closed-grid .l{color:var(--text-muted);font-size:11px;}
  .badge.corrective{background:var(--red-bg);color:var(--red-text);}

  .footer-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;color:var(--text-muted);font-size:12px;}
  .footer-actions button{font-family:var(--font-sans);font-size:12.5px;background:none;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:8px;padding:8px 14px;cursor:pointer;}
  .footer-actions button:hover{background:var(--surface2);}

  @media (max-width:720px){
    .stats{grid-template-columns:repeat(2,1fr);}
    .detail-grid{grid-template-columns:1fr;}
    .tech-sheet-specs{grid-template-columns:1fr;}
    table.rack-table thead{display:none;}
    table.rack-table, table.rack-table tbody, table.rack-table tr, table.rack-table td{display:block;width:100%;}
    table.rack-table tr{padding:10px 0;border-bottom:1px solid var(--border);}
    table.rack-table td{border-bottom:none;padding:3px 10px;}
    .row-actions{justify-content:flex-start;margin-top:6px;}
    .priority-row{display:flex;flex-wrap:wrap;align-items:center;row-gap:8px;column-gap:10px;}
    .priority-row .rank{flex:0 0 auto;}
    .priority-row .fam{flex:1 1 150px;min-width:150px;}
    .priority-row .status-pill, .priority-row .badge, .priority-row .days{flex:0 0 auto;}
    .priority-row .days{width:100%;order:5;color:var(--text-muted);font-size:11.5px;}
    .priority-row button, .priority-row > div{flex:1 1 100%;}
    .priority-row button{width:100%;}
    .log-filters{flex-wrap:wrap;}
    .main-nav{flex-wrap:wrap;row-gap:6px;}
    .wrap{padding:1.25rem 1rem;}
    .panel{padding:16px;}
  }
  @media (max-width:420px){
    .stats{grid-template-columns:1fr 1fr;}
    .login-card{padding:1.25rem;}
    table.log-table{min-width:480px;font-size:11.5px;}
    table.log-table th, table.log-table td{padding:6px 8px;}
  }

  /* ---------- print (relatório mensal) ---------- */
  .print-header{display:none;}
  @media print{
    *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;color-adjust:exact !important;}
    :root{
      --bg:#ffffff; --surface1:#ffffff; --surface2:#f6f6f7; --surface3:#eeeeef;
      --border:#c9c9cc; --border-strong:#a8a8ac;
      --text-primary:#111112; --text-secondary:#333336; --text-muted:#5a5a5e;
      --red-bg:#fbe4e5; --red-text:#a3242c;
      --amber-bg:#fbeed9; --amber-text:#8a5a10;
      --green-bg:#e2f3e9; --green-text:#1f7a4d;
      --blue-bg:#e3edf9; --blue-text:#1f5fa3;
      --violet-bg:#ece7fa; --violet-text:#5c3fa8;
      --grey-bg:#ececed; --grey:#5a5a5e;
    }
    body{background:#fff;padding:0;}
    .wrap{max-width:100%;padding:0;margin:0;}
    .no-print, .no-print *{display:none !important;}
    .panel{border:1px solid var(--border-strong);box-shadow:none;break-inside:avoid;}
    #monthlySummaryPrintArea .print-header{
      display:block;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:16px;
    }
    .print-header-logo{height:40px;display:block;margin-bottom:10px;}
    .print-header-brand{font-size:15px;font-weight:700;letter-spacing:.03em;}
    .print-header-title{font-size:19px;font-weight:700;margin-top:4px;}
    .print-header-sub{font-size:11.5px;color:var(--text-muted);margin-top:2px;}
    a{color:inherit;text-decoration:none;}
  }

  .priority-row.just-updated {
  animation: flash-highlight 2.2s ease-out;
  }
  
  /*MODAL*/
  .custom-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.custom-modal {
  background: #1a1a1a;           /* ajusta ao fundo dos teus painéis */
  border-radius: 12px;
  padding: 28px 32px;
  max-width: 340px;
  text-align: center;
  box-shadow: 0 10px 40px rgba(0,0,0,0.4);
  animation: modalPop 0.18s ease-out;
}

@keyframes modalPop {
  from { transform: scale(0.92); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}

.custom-modal-icon {
  font-size: 32px;
  margin-bottom: 10px;
}

.custom-modal.success .custom-modal-icon { color: var(--green-text); }
.custom-modal.error   .custom-modal-icon { color: #ef4444; }

.custom-modal-message {
  font-size: 14px;
  color: #e5e5e5;
  margin-bottom: 20px;
  line-height: 1.5;
}

.custom-modal-btn {
  background: var(--green-text);
  color: #0a0a0a;
  border: none;
  border-radius: 8px;
  padding: 8px 24px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.custom-modal.error .custom-modal-btn { background: #ef4444; color: #fff; }

/*show and off info*/
.custom-modal.info .custom-modal-icon { color: #3b82f6; }
.custom-modal.info .custom-modal-btn { background: #3b82f6; color: #fff; }

.custom-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.custom-modal-btn-cancel {
  background: transparent;
  border: 1px solid #555;
  color: #ccc;
  border-radius: 8px;
  padding: 8px 20px;
  font-size: 13px;
  cursor: pointer;
}

@keyframes glow-added {
  0% {
    box-shadow: 0 0 0 0 rgba(var(--glow-rgb, 139,92,246), 0.9);
    background-color: rgba(var(--glow-rgb, 139,92,246), 0.35);
    transform: scale(1.015);
  }
  15% {
    box-shadow: 0 0 22px 6px rgba(var(--glow-rgb, 139,92,246), 0.6);
    background-color: rgba(var(--glow-rgb, 139,92,246), 0.28);
  }
  60% {
    box-shadow: 0 0 16px 4px rgba(var(--glow-rgb, 139,92,246), 0.35);
    background-color: rgba(var(--glow-rgb, 139,92,246), 0.14);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(var(--glow-rgb, 139,92,246), 0);
    background-color: transparent;
    transform: scale(1);
  }
}

.priority-row.just-updated {
  animation: glow-added 3.5s ease-out;
  border: 1px solid rgba(var(--glow-rgb, 139,92,246), 0.5);
  border-radius: 8px;
}

/* Cor do brilho — uma por painel, a condizer com a cor já usada em cada um */
#segregatedList .priority-row.just-updated  { --glow-rgb: 139,92,246; }  /* violeta — Aguardam envio */
#transitList .priority-row.just-updated     { --glow-rgb: 59,130,246; } /* azul — Em manutenção */
#receiptList .priority-row.just-updated     { --glow-rgb: 34,197,94;  } /* verde — Disponível p/ entrega */
#pendingList .priority-row.just-updated     { --glow-rgb: 245,158,11; } /* âmbar — Pendente validação */
#correctiveList .priority-row.just-updated  { --glow-rgb: 239,68,68;  } /* vermelho — Corretiva */
#priorityList .priority-row.just-updated    { --glow-rgb: 239,68,68;  } /* vermelho — Prioridade/atraso */

/*Desativar o scroll quando é para imprimir*/
@media print {
    .pm-list {
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
        overflow-y: visible !important;
    }
    #currentStateReportArea .print-header{
    display:block;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:16px;
  }
}

.priority-row .fam .cc{
  font-family:var(--font-mono);
  color:var(--text-muted);
  font-size:11.5px;
  margin-left:6px;
}