

  :root{
    --ink:#14181C; --panel:#1A1F26; --panel2:#20262F; --paper:#F3F1EC;
    --moss:#3D5A45; --moss-l:#4C7057; --clay:#B5673B; --line:#2A2F38; --muted:#F3F1EC77;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; -webkit-font-smoothing:antialiased; background:var(--ink); color:var(--paper);}
  svg{display:block;}
  a{color:inherit; text-decoration:none;}

  .divider{background:#0B0B0B; color:#999; font-size:12px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; padding:14px 20px; text-align:center;}

  /* ===== shell ===== */
  .shell{min-height:100vh; display:flex; background:var(--ink);}
  .sidebar{display:none;}
  @media (min-width:768px){
    .sidebar{display:flex; flex-direction:column; width:240px; flex:0 0 240px; background:#101419; border-right:1px solid var(--line); padding:22px 16px; position:sticky; top:0; height:100vh;}
  }
  .brandmark{display:flex; align-items:center; gap:10px;}
  .brandmark .sq{width:28px; height:28px; border-radius:7px; background:var(--moss); display:flex; align-items:center; justify-content:center; flex:0 0 auto;}
  .brandmark b{font-size:15px; letter-spacing:-0.01em; font-family:'Courier New',monospace;}
  .sidebar .brandmark{padding:0 6px; margin-bottom:32px;}
  .sidebar nav{display:flex; flex-direction:column; gap:2px;}
  .sidebar nav a{display:flex; align-items:center; gap:12px; padding:14px 14px; border-radius:9px; color:var(--muted); font-size:16px; font-weight:600; cursor:pointer;}
  .sidebar nav a svg{width:19px; height:19px; flex:0 0 auto;}
  .sidebar nav a.on{background:var(--panel); color:var(--paper);}
  .sidebar nav a.on svg{color:var(--moss-l);}
  .sidebar .role-tag{margin-top:auto; font-size:11px; color:#F3F1EC44; padding:0 6px;}

  .main{flex:1; min-width:0; display:flex; flex-direction:column;}
  .topbar{display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--ink); z-index:20;}
  @media (min-width:768px){ .topbar{padding:20px 32px;} }
  .topbar h2{font-size:21px; font-weight:700; letter-spacing:-0.005em;}
  .topbar .crumb{font-size:12px; color:var(--muted); margin-bottom:2px;}
  .avatar-circle{width:36px; height:36px; border-radius:50%; background:var(--moss); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#fff; flex:0 0 auto; cursor:pointer;}

  .content{flex:1; padding:20px 18px 120px;}
  @media (min-width:768px){ .content{padding:28px 32px;} }

  .bottomnav{position:fixed; bottom:0; left:0; right:0; display:flex; background:#101419; border-top:1px solid var(--line); padding:8px 8px calc(8px + env(safe-area-inset-bottom)); z-index:40;}
  @media (min-width:768px){ .bottomnav{display:none;} }
  .bottomnav a{flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; padding:6px 4px; font-size:11.5px; font-weight:600; color:#F3F1EC88; min-height:58px; justify-content:center; cursor:pointer;}
  .bottomnav a svg{width:22px; height:22px;}
  .bottomnav a.on{color:var(--paper);}
  .sidebar nav a svg{width:19px; height:19px; flex:0 0 auto; opacity:.8;}
  .sidebar nav a.on svg{opacity:1; color:var(--moss-l);}
  .bottomnav a svg{width:20px; height:20px;}

  /* screens */
  .screen{display:none;}
  .screen.on{display:block;}

  /* toolbar / actions */
  .toolbar{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; flex-wrap:wrap;}
  .toolbar .search{display:flex; align-items:center; gap:8px; background:var(--panel); border:1px solid var(--line); border-radius:9px; padding:9px 12px; flex:1; min-width:180px; max-width:320px;}
  .toolbar .search svg{width:16px; height:16px; color:var(--muted); flex:0 0 auto;}
  .toolbar .search input{background:none; border:none; color:var(--paper); font-size:13px; flex:1;}
  .toolbar .search input:focus{outline:none;}
  .btn-primary{background:var(--moss); color:#fff; border:none; padding:14px 22px; border-radius:10px; font-size:15px; min-height:52px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:8px;}
  .btn-primary svg{width:16px; height:16px;}
  .btn-ghost{background:transparent; border:1px solid var(--line); color:var(--paper); padding:13px 20px; border-radius:10px; font-size:14.5px; min-height:52px; font-weight:600; cursor:pointer;}

  /* table */
  .table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:var(--panel);}
  table{width:100%; border-collapse:collapse; min-width:560px;}
  thead th{text-align:left; font-size:12.5px; text-transform:uppercase; letter-spacing:0.04em; color:var(--muted); font-weight:700; padding:13px 16px; border-bottom:1px solid var(--line); white-space:nowrap;}
  tbody td{padding:18px 18px; font-size:15.5px; border-bottom:1px solid var(--line); white-space:nowrap;}
  tbody tr:last-child td{border-bottom:none;}
  tbody tr{cursor:pointer;}
  tbody tr:hover{background:var(--panel2);}
  .row-link{cursor:pointer;}
  .card.row-link:hover{background:var(--panel2);}
  /* todo número exibido é uma porta para o conjunto que ele conta */
  .count-link{display:inline-flex; align-items:center; justify-content:center; min-width:38px; min-height:34px; padding:0 11px; border-radius:9px; background:#F3F1EC0D; border:1px solid var(--line); color:#8FB39B; font-weight:700; font-size:14.5px;}
  .count-link:hover{background:#5C846822; border-color:var(--moss-l); color:var(--paper);}
  .menu.sm > summary{background:transparent; border:1px solid var(--line); color:var(--paper); padding:0 14px; min-height:38px; height:38px; font-size:15px; border-radius:9px;}
  .menu.sm > summary::after{display:none;}
  .menu.sm > summary:hover{background:var(--panel2);}
  .menu.sm .menu-items{right:0; left:auto; min-width:230px;}

  /* confirmação inline — sem confirm() do navegador */
  details.confirm{display:inline-block; position:relative;}
  details.confirm > summary{list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:9px; border:1px solid #B5673B44; color:#E0A67F; font-size:13px; font-weight:600; background:transparent;}
  details.confirm > summary::-webkit-details-marker{display:none;}
  details.confirm > summary:hover{background:#B5673B18; border-color:#B5673B88;}
  details.confirm > summary svg{width:14px; height:14px;}
  .confirm-box{position:absolute; right:0; top:calc(100% + 8px); z-index:70; background:#1D232B; border:1px solid #B5673B55; border-radius:12px; padding:16px; width:290px; box-shadow:0 20px 40px -14px #000000dd; text-align:left;}
  .confirm-box p{font-size:14px; line-height:1.5; margin-bottom:14px; color:var(--paper); font-weight:400;}
  .confirm-box p b{color:#E0A67F;}
  .confirm-box .acts{display:flex; gap:8px;}
  .confirm-box button{flex:1; min-height:44px; border-radius:9px; font-size:13.5px; font-weight:700; cursor:pointer; border:none; font-family:inherit;}
  .confirm-box .yes{background:#8C3B2E; color:#fff;}
  .confirm-box .yes:hover{background:#A34535;}
  .confirm-box .no{background:transparent; border:1px solid var(--line); color:var(--paper);}
  @media (max-width:640px){ .confirm-box{right:auto; left:0; width:min(290px, calc(100vw - 60px));} }

  /* editor de conteúdo da página */
  .ed-search{position:relative; margin-bottom:14px;}
  .ed-search input{width:100%; background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:18px 52px; color:#fff; font-size:16px; min-height:60px;}
  .ed-search input:focus{outline:none; border-color:var(--moss-l); background:#12161B;}
  .ed-search .ic{position:absolute; left:19px; top:50%; transform:translateY(-50%); width:20px; height:20px; color:var(--muted); pointer-events:none;}
  .ed-search .clear{position:absolute; right:14px; top:50%; transform:translateY(-50%); background:#F3F1EC14; border:none; color:var(--paper); width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:17px; line-height:1; display:none; align-items:center; justify-content:center;}
  .ed-search .clear.on{display:flex;}
  .ed-blocks{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px;}
  .ed-blk{display:inline-flex; align-items:center; gap:9px; padding:0 17px; height:46px; border-radius:12px; border:1px solid var(--line); background:var(--panel); color:var(--paper); font-size:14.5px; font-weight:600; cursor:pointer; font-family:inherit;}
  .ed-blk:hover{border-color:#3A4553; background:var(--panel2);}
  .ed-blk.on{background:var(--moss); border-color:var(--moss);}
  .ed-blk svg{width:17px; height:17px; opacity:.75;}
  .ed-blk .n{font-size:12px; font-weight:700; background:#00000040; padding:3px 8px; border-radius:20px; min-width:24px; text-align:center;}
  .ed-meta{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; gap:12px; min-height:22px;}
  .ed-meta .count{font-size:13.5px; color:var(--muted);}
  .ed-meta .back{font-size:13.5px; color:var(--moss-l); cursor:pointer; background:none; border:none; font-family:inherit; font-weight:600;}
  .ed-empty{text-align:center; padding:60px 24px; border:1.5px dashed var(--line); border-radius:16px;}
  .ed-empty svg{width:34px; height:34px; color:var(--line); margin-bottom:14px;}
  .ed-empty p{color:var(--muted); font-size:15px; line-height:1.6;}
  .ed-field{background:var(--panel); border:1px solid var(--line); border-radius:16px; margin-bottom:12px; overflow:hidden;}
  .ed-field:focus-within{border-color:#3A4553;}
  .ed-field .top{display:flex; align-items:baseline; gap:10px; padding:16px 20px 0; flex-wrap:wrap;}
  .ed-field .name{font-size:15.5px; font-weight:700;}
  .ed-field .name mark{background:#5C846855; color:#fff; border-radius:3px; padding:0 3px;}
  .ed-field .key{font-family:'Courier New',monospace; font-size:12px; color:var(--muted);}
  .ed-field .body{padding:12px 20px 18px;}
  .ed-field .imgrow{display:flex; gap:18px; flex-wrap:wrap; align-items:flex-start;}
  .ed-field .thumb{width:168px; flex:0 0 auto; border-radius:12px; overflow:hidden; background:#0F1318; border:1px solid var(--line); position:relative; display:flex; align-items:center; justify-content:center;}
  .ed-field .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
  .ed-field .thumb .none{color:var(--muted); font-size:12.5px;}
  .ed-field .thumb .spec{position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,#000000cc); font-size:10.5px; padding:14px 8px 5px; font-family:'Courier New',monospace; color:#fff; text-align:center;}
  .ed-field .imgcol{flex:1; min-width:250px;}
  .ed-field .drop{border:1.5px dashed var(--line); border-radius:12px; padding:20px 16px; text-align:center; cursor:pointer;}
  .ed-field .drop:hover, .ed-field .drop.over{border-color:var(--moss-l); background:#5C846810;}
  .ed-field .drop b{display:block; font-size:14.5px; font-weight:600; margin-bottom:3px;}
  .ed-field .drop span{font-size:12.5px; color:var(--muted);}
  .ed-field .gal-lbl{font-size:12.5px; color:var(--muted); margin:16px 0 8px;}
  .ed-field .gal{display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); gap:7px;}
  .ed-field .gal button{aspect-ratio:1; border-radius:9px; border:2px solid transparent; background:#0F1318; overflow:hidden; cursor:pointer; padding:0;}
  .ed-field .gal button:hover{border-color:var(--moss-l);}
  .ed-field .gal img{width:100%; height:100%; object-fit:cover; display:block;}
  details.ed-raw{margin-top:26px; border:1px solid var(--line); border-radius:14px; background:var(--panel); overflow:hidden;}
  details.ed-raw summary{padding:17px 20px; cursor:pointer; font-size:14.5px; font-weight:600; list-style:none; display:flex; align-items:center; gap:10px; color:var(--muted);}
  details.ed-raw summary::-webkit-details-marker{display:none;}
  details.ed-raw summary svg{width:15px; height:15px;}
  details.ed-raw[open] summary{color:var(--paper);}
  details.ed-raw[open] summary svg{transform:rotate(90deg);}
  details.ed-raw .rawbody{padding:0 20px 20px;}
  .ed-save{display:flex; align-items:center; justify-content:flex-end; gap:14px; margin-top:12px;}
  .ed-save .ed-dirty{font-size:13px; color:#E0A67F; opacity:0; transition:opacity .15s;}
  .ed-save.on .ed-dirty{opacity:1;}
  .ed-save .btn-primary{min-height:44px; padding:0 20px; font-size:14px;}
  .ed-aviso{background:#4C705718; border:1px solid #4C705744; border-radius:11px; padding:14px 16px; font-size:14px; line-height:1.55; color:var(--paper);}
  .ed-aviso a{color:var(--moss-l); font-weight:700; display:inline-block; margin-top:6px;}
  .menu{position:relative; display:inline-block;}
  .menu > summary{list-style:none; cursor:pointer; background:var(--moss); color:#fff; border:none; padding:14px 22px; border-radius:10px; font-size:15px; font-weight:700; min-height:52px; display:inline-flex; align-items:center; gap:10px;}
  .menu > summary::-webkit-details-marker{display:none;}
  .menu > summary::after{content:''; width:8px; height:8px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg) translateY(-2px);}
  .menu[open] > summary::after{transform:rotate(-135deg) translateY(-2px);}
  .menu-items{position:absolute; top:calc(100% + 8px); left:0; z-index:60; background:#1D232B; border:1px solid var(--line); border-radius:12px; padding:8px; min-width:260px; box-shadow:0 20px 40px -16px #000000cc;}
  .menu-items a, .menu-items button{display:block; width:100%; text-align:left; padding:13px 14px; border-radius:8px; font-size:14.5px; font-weight:600; color:var(--paper); background:none; border:none; cursor:pointer; min-height:48px;}
  .menu-items a:hover, .menu-items button:hover{background:var(--panel2);}
  .menu-items .sep{height:1px; background:var(--line); margin:6px 0;}
  @media (max-width:767px){
    .menu{display:block;}
    .menu > summary{width:100%; justify-content:center;}
    .menu-items{left:0; right:0; min-width:0;}
  }
  .mono{font-family:'Courier New',monospace; font-size:12.5px; color:#8FB39B;}
  .pill{display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; padding:4px 9px; border-radius:999px;}
  .pill.on{background:#3D5A4522; color:#7FA98C;}
  .pill.off{background:#F3F1EC14; color:var(--muted);}
  .pill::before{content:''; width:6px; height:6px; border-radius:50%; background:currentColor;}
  .hint{font-size:13.5px; color:var(--muted); margin-top:10px;}
  .error{color:var(--clay); font-size:13px; margin-bottom:16px;}

  /* PROVISÓRIO — substituir quando o mockup do template de nicho for aprovado */
  .chat-placeholder{border:1px dashed var(--line); border-radius:12px; padding:16px; max-width:360px; margin:24px auto;}
  .chat-placeholder form{display:flex; flex-direction:column; gap:10px; margin-top:10px;}
  .lead-msg{font-size:12.5px; color:#D8D6CE; max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

  .image-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(120px,1fr)); gap:10px;}
  .image-tile{aspect-ratio:4/3; border-radius:10px; border:1px solid var(--line); cursor:pointer; position:relative; overflow:hidden; display:flex; align-items:flex-end;}
  .image-tile-label{font-size:10px; font-family:'Courier New',monospace; color:#fff; background:#00000066; padding:4px 8px; width:100%;}

  .crop-preview{position:relative; border-radius:12px; overflow:hidden; background:linear-gradient(135deg,#3D5A45,#12161B); aspect-ratio:16/10; border:1px solid var(--line);}
  .crop-frame{position:absolute; top:14%; left:10%; right:10%; bottom:14%; border:2px solid #fff; box-shadow:0 0 0 2000px #00000066;}
  .crop-handle{position:absolute; width:12px; height:12px; background:#fff; border-radius:3px;}
  .crop-dropzone{border:1.5px dashed var(--line); border-radius:12px; padding:24px; text-align:center; font-size:12.5px; color:var(--muted); margin-bottom:14px;}

  .card{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:20px;}
  .card h3{font-size:17px; font-weight:700; margin-bottom:4px;}
  .card .desc{font-size:14.5px; color:var(--muted); line-height:1.5;}
  .context-box{background:#12161B; border:1px solid var(--line); border-radius:10px; padding:18px; font-size:15px; line-height:1.6; color:#D8D6CE; white-space:pre-wrap;}

  /* ===== PAINEL ===== */
  .chipbar{display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; margin-bottom:18px;}
  .chip{flex:0 0 auto; padding:11px 18px; border-radius:999px; border:1px solid var(--line); background:var(--panel); color:var(--muted); font-size:14.5px; min-height:48px; display:inline-flex; align-items:center; font-weight:600; cursor:pointer; white-space:nowrap;}
  .chip.on{background:var(--moss); border-color:var(--moss); color:#fff;}

  .painel-grid{display:grid; grid-template-columns:1fr; gap:16px;}
  @media (min-width:1024px){
    .painel-grid{grid-template-columns:2fr 1fr;}
    .chart-card{grid-column:1;}
    .kpi-col{grid-column:2; display:flex; flex-direction:column; gap:12px;}
  }
  .kpi-row{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
  @media (min-width:1024px){ .kpi-row{display:contents;} }
  .kpi-card{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:16px;}
  .kpi-card .num{font-size:24px; font-weight:700; font-family:'Courier New',monospace; color:#8FB39B;}
  .kpi-card .lbl{font-size:11px; color:var(--muted); margin-top:4px;}

  .chart-card{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:20px;}
  .chart-card .chead{display:flex; align-items:center; justify-content:space-between; margin-bottom:6px;}
  .chart-card h3{font-size:14px; font-weight:700;}
  .chart-card .period{font-size:11px; color:var(--muted);}
  .chart-wrap{width:100%; height:220px; margin-top:10px;}
  .chart-wrap svg{width:100%; height:100%;}

  .visit-site{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:#8FB39B; cursor:pointer;}
  .visit-site svg{width:14px; height:14px;}

  /* sheets */
  .sheet-overlay{position:fixed; inset:0; background:#00000099; display:flex; align-items:flex-end; justify-content:center; z-index:100; opacity:0; pointer-events:none; transition:opacity .2s;}
  .sheet-overlay.open{opacity:1; pointer-events:auto;}
  .sheet{background:#1D232B; border-radius:20px 20px 0 0; padding:10px 20px 28px; width:100%; max-width:480px; box-shadow:0 -20px 50px -20px #000000cc; transform:translateY(100%); transition:transform .25s ease;}
  .sheet-overlay.open .sheet{transform:translateY(0);}
  @media (min-width:768px){
    .sheet-overlay{align-items:center;}
    .sheet{border-radius:16px; transform:translateY(16px); opacity:0; transition:transform .2s ease, opacity .2s ease;}
    .sheet-overlay.open .sheet{transform:translateY(0); opacity:1;}
  }
  .sheet .handle{width:36px; height:4px; border-radius:999px; background:#F3F1EC33; margin:6px auto 18px;}
  .sheet .shead{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px;}
  .sheet .shead h3{font-size:16px; font-weight:700;}
  .sheet .shead .x{width:30px; height:30px; border-radius:50%; background:#F3F1EC0F; display:flex; align-items:center; justify-content:center; cursor:pointer;}
  .sheet .shead .x svg{width:15px; height:15px; color:var(--muted);}
  .field-label{display:block; font-size:14px; color:#F3F1EC99; font-weight:600; margin-bottom:6px; margin-top:16px;}
  .field-label:first-of-type{margin-top:0;}
  .ipt{width:100%; background:#12161B; border:1px solid var(--line); border-radius:10px; padding:14px 16px; color:#fff; font-size:16px; min-height:52px;}
  select.ipt{-webkit-appearance:none; -moz-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3F1EC77' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:16px; padding-right:38px; cursor:pointer;}
  select.ipt option{background:#12161B; color:#fff;}
  input[type="file"].ipt-file{width:100%; background:#12161B; border:1px dashed var(--line); border-radius:9px; padding:12px 14px; color:var(--muted); font-size:13px;}
  input[type="file"].ipt-file::file-selector-button{background:var(--moss); color:#fff; border:none; border-radius:6px; padding:8px 14px; font-size:12.5px; font-weight:700; margin-right:12px; cursor:pointer;}
  .field-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .card-head{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:6px;}
  .or-divider{display:flex; align-items:center; gap:14px; margin:22px 0 4px; color:var(--muted); font-size:13.5px;}
  .or-divider::before, .or-divider::after{content:''; flex:1; height:1px; background:var(--line);}
  .flash{background:#B5673B1A; border:1px solid #B5673B55; color:#E0A67F; border-radius:10px; padding:14px 16px; font-size:14.5px; margin-bottom:18px;}
  .queue-summary{display:flex; gap:8px; flex-wrap:wrap;}
  .queue-pill{font-size:13px; font-weight:700; padding:7px 13px; border-radius:999px; background:#F3F1EC14; color:var(--muted);}
  .queue-pill.q-published{background:#3D5A4522; color:#7FA98C;}
  .queue-pill.q-failed{background:#B5673B22; color:#E0A67F;}
  .queue-pill.q-generating{background:#4C705733; color:#9FC4AC;}
  .pill.err{background:#B5673B22; color:#E0A67F;}
  .tabs{display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:20px; overflow-x:auto;}
  .tab{flex:0 0 auto; padding:14px 20px; font-size:15.5px; font-weight:600; color:var(--muted); border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; min-height:52px; display:inline-flex; align-items:center; gap:8px;}
  .tab.on{color:var(--paper); border-bottom-color:var(--moss-l);}
  .tab-count{font-size:12.5px; background:#F3F1EC14; padding:2px 9px; border-radius:999px;}
  input[type="radio"]{accent-color:var(--moss); width:20px; height:20px; flex:0 0 auto;}
  input[type="checkbox"]{accent-color:var(--moss); width:20px; height:20px;}
  .ipt:focus{outline:none; border-color:var(--moss);}
  textarea.ipt{min-height:88px; resize:none; font-family:inherit; line-height:1.5;}
  .checklist{display:flex; flex-direction:column; gap:2px; max-height:200px; overflow-y:auto; border:1px solid var(--line); border-radius:9px; padding:6px; margin-top:8px;}
  .checkrow{display:flex; align-items:center; gap:10px; padding:10px 8px; border-radius:6px; font-size:13.5px;}
  .checkrow:hover{background:#F3F1EC08;}
  .checkbox{width:18px; height:18px; border-radius:5px; border:1.5px solid #F3F1EC44; flex:0 0 auto; display:flex; align-items:center; justify-content:center;}
  .checkbox.checked{background:var(--moss); border-color:var(--moss);}
  .checkbox.checked svg{width:12px; height:12px; color:#fff;}
  .btn-block{width:100%; margin-top:22px;}

  /* login */
  .login-field{background:
      linear-gradient(180deg, #14181Cee 0%, #14181Cf7 60%, #14181C 100%),
      repeating-linear-gradient(90deg, transparent 0 78px, #F3F1EC0A 78px 79px),
      repeating-linear-gradient(0deg, transparent 0 44px, #F3F1EC0A 44px 45px);
      min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px 20px; position:relative;
  }
  .domtag{position:absolute; font-size:10px; font-family:'Courier New',monospace; color:#3D5A4599; background:#3D5A4514; border:1px solid #3D5A4530; padding:3px 8px; border-radius:3px;}
  .login-card{width:100%; max-width:380px; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:32px 28px; box-shadow:0 30px 60px -30px #00000099;}
  .login-card h1{font-size:20px; font-weight:700; margin-bottom:6px; margin-top:28px;}
  .login-card .sub{font-size:13px; color:var(--muted); margin-bottom:24px;}
  .altlink{display:block; text-align:center; margin-top:16px; font-size:12px; color:#F3F1EC66;}
  .altlink a{color:var(--clay); font-weight:600;}
  .login-foot{padding:18px; text-align:center; font-size:11px; color:#F3F1EC44;}

  /* menu flutuante — pula entre Login / Super Admin / Cliente sem rolar tudo */
  .jumpnav{position:fixed; bottom:20px; right:20px; z-index:200; display:flex; flex-direction:column; align-items:flex-end; gap:10px;}
  .jumpnav-menu{display:none; flex-direction:column; gap:4px; background:#1D232B; border:1px solid var(--line); border-radius:12px; padding:8px; box-shadow:0 20px 40px -16px #000000cc; min-width:190px;}
  .jumpnav-menu.open{display:flex;}
  .jumpnav-menu a{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; font-size:13px; font-weight:600; color:var(--paper); cursor:pointer;}
  .jumpnav-menu a:hover{background:var(--panel2);}
  .jumpnav-menu a .dot{width:7px; height:7px; border-radius:50%; background:var(--moss-l); flex:0 0 auto;}
  .jumpnav-toggle{width:52px; height:52px; border-radius:50%; background:var(--moss); border:none; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px -8px #00000099; cursor:pointer;}
  .jumpnav-toggle svg{width:22px; height:22px; color:#fff; transition:transform .2s;}
  .jumpnav-toggle.open svg{transform:rotate(45deg);}
  .top-hidden{display:none !important;}
