body{
  background:#eef3f8;
  font-family:'Inter',sans-serif;
  color:var(--text);
  min-height:100vh;
  display:flex;justify-content:center;align-items:flex-start;
  padding:40px 20px;
}

/* LOGIN */
.login-wrap{
  display:flex;justify-content:center;align-items:center;
  min-height:80vh;width:100%;
}
.login-card{
  background:var(--bg);border-radius:16px;
  border:1px solid var(--border);
  box-shadow:0 20px 60px rgba(26,111,181,.1);
  width:100%;max-width:380px;
  overflow:hidden;
}
.login-header{
  background:var(--bg2);padding:28px 32px 20px;
  border-bottom:1px solid var(--border);
  text-align:center;
}
.login-header .brand{font-size:24px;font-weight:900;letter-spacing:-1px;color:var(--text);}
.login-header .brand span{color:var(--accent);font-family:'Playfair Display',serif;font-style:italic;font-weight:700;}
.login-header .sub{font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:6px;}
.login-body{padding:28px 32px 32px;}
.login-body label{
  display:block;font-size:10px;font-weight:700;
  color:var(--muted);letter-spacing:1.5px;
  text-transform:uppercase;margin-bottom:6px;
}
.login-body input{
  width:100%;padding:10px 14px;
  font-family:'Inter',sans-serif;font-size:13px;
  border:1px solid var(--border);border-radius:8px;
  color:var(--text);background:var(--bg2);
  outline:none;transition:border-color .15s;
  margin-bottom:18px;
}
.login-body input:focus{border-color:var(--accent);}
.login-body input::placeholder{color:var(--muted);}
.btn{
  font-family:'Inter',sans-serif;
  font-size:13px;font-weight:700;
  padding:10px 24px;border-radius:8px;
  border:1px solid var(--accent);
  background:var(--accent);color:#fff;
  cursor:pointer;transition:all .15s;
  letter-spacing:.3px;
}
.btn:hover{background:#155d99;}
.btn-full{width:100%;}
.btn-outline{
  background:var(--bg);color:var(--sub);
  border-color:var(--border);
}
.btn-outline:hover{
  background:var(--accent-light);color:var(--accent);
  border-color:var(--accent);
}
.btn-sm{font-size:11px;padding:6px 14px;border-radius:6px;}
.login-error{
  font-size:11px;color:#c43232;
  text-align:center;margin-bottom:14px;
  display:none;
}

/* DASHBOARD */
.dashboard{
  width:100%;max-width:960px;
}
.dash-header{
  background:var(--bg);border-radius:16px 16px 0 0;
  border:1px solid var(--border);
  border-bottom:none;
  padding:28px 32px;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;
  box-shadow:0 -4px 20px rgba(26,111,181,.05);
}
.dash-header .title{
  font-size:20px;font-weight:900;letter-spacing:-.5px;
}
.dash-header .title span{
  color:var(--accent);font-family:'Playfair Display',serif;
  font-style:italic;font-weight:700;
}
.dash-actions{display:flex;gap:8px;align-items:center;}
.dash-user{
  font-size:11px;color:var(--muted);
  margin-right:8px;
}

.dash-body{
  background:var(--bg);
  border:1px solid var(--border);
  border-top:1px solid var(--border);
  border-radius:0 0 16px 16px;
  box-shadow:0 20px 60px rgba(26,111,181,.1);
  overflow:hidden;
}

/* TABLE */
.cot-table{width:100%;border-collapse:collapse;}
.cot-table thead tr{background:var(--bg2);}
.cot-table thead th{
  padding:12px 16px;font-size:10px;
  letter-spacing:2px;text-transform:uppercase;
  color:var(--muted);font-weight:700;text-align:left;
}
.cot-table tbody tr{
  border-bottom:1px solid var(--border);
  cursor:pointer;transition:background .1s;
}
.cot-table tbody tr:last-child{border-bottom:none;}
.cot-table tbody tr:hover{background:var(--accent-light);}
.cot-table td{padding:14px 16px;font-size:13px;}
.cot-table td.muted{color:var(--muted);font-size:11px;}
.cot-table td .num{font-weight:700;color:var(--accent);}
.cot-table td .cliente{font-weight:600;}

.copy-link{
  display:inline-block;
  background:var(--bg2);border:1px solid var(--border);
  color:var(--sub);border-radius:5px;
  font-size:10px;font-weight:600;padding:3px 9px;
  cursor:pointer;transition:all .15s;
  font-family:'Inter',sans-serif;
}
.copy-link:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent);}
.copy-link.copied{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7;}

.empty-state{
  text-align:center;padding:60px 20px;
  color:var(--muted);
}
.empty-state .icon{font-size:36px;margin-bottom:12px;opacity:.4;}
.empty-state .msg{font-size:13px;line-height:1.6;}

.loading{
  text-align:center;padding:40px;
  color:var(--muted);font-size:12px;
  letter-spacing:1px;
}

/* FILTERS */
.dash-filters{
  display:flex;justify-content:space-between;align-items:center;
  gap:16px;padding:18px 16px;flex-wrap:wrap;
  border-bottom:1px solid var(--border);
}
.template-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.tab-btn{
  font-family:inherit;font-size:12px;font-weight:600;
  padding:7px 16px;border-radius:999px;
  border:1px solid var(--border);background:var(--bg2);
  color:var(--sub);cursor:pointer;transition:all .15s;
}
.tab-btn:hover{border-color:var(--accent);color:var(--accent);}
.tab-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.search-input{
  font-family:inherit;font-size:13px;
  padding:8px 14px;border-radius:8px;
  border:1px solid var(--border);background:var(--bg2);
  color:var(--text);min-width:220px;outline:none;
  transition:border-color .15s;
}
.search-input:focus{border-color:var(--accent);}
.search-input::placeholder{color:var(--muted);}

/* ROW ACTIONS */
.row-actions{display:flex;gap:6px;justify-content:flex-end;}
.btn-delete{
  font-family:inherit;font-size:10px;font-weight:600;
  padding:4px 10px;border-radius:5px;
  border:1px solid #e4b4b4;background:#fff5f5;
  color:#b23a3a;cursor:pointer;transition:all .15s;
}
.btn-delete:hover{background:#ffe0e0;border-color:#c44;color:#911;}

/* PAGINATION */
.pagination{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 16px;border-top:1px solid var(--border);
}
.pag-info{font-size:11px;color:var(--muted);}
.pag-btns{display:flex;gap:4px;}
.pag-btn{
  font-family:inherit;font-size:11px;font-weight:600;
  min-width:30px;padding:5px 8px;border-radius:6px;
  border:1px solid var(--border);background:var(--bg2);
  color:var(--sub);cursor:pointer;transition:all .15s;
}
.pag-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);}
.pag-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.pag-btn:disabled{opacity:.35;cursor:default;}
