:root{
  --bg:#f2f2f2;
  --text:#000;
  --muted:#555;
  --line:#c8c8c8;
  --line2:#d6d6d6;
  --head:#ece7d8;
  --link:#0033cc;
  --vote-bg:#eeeecc;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}
body{
 font-family:Georgia,"Arial Unicode MS",Arial,sans-serif;
 font-size:9pt;
 line-height: 1.45 !important;
}
a{color:var(--link);text-decoration:none}
a:hover{font-weight:bold}
h1,h2,h3,h4{font-family:Georgia,"Arial Unicode MS",Arial,sans-serif;font-weight:normal;text-align:center;margin:0.5em 0;color:#000}
h1{font-size:15pt}
h2{font-size:14pt}
h3{font-size:13pt}
h4{font-size:12pt}
p,div,li{font-family:Georgia,"Arial Unicode MS",Arial,sans-serif;font-size:10pt}
p{margin:0 0 10px;text-align:justify;text-indent:1cm}
.plain{margin:0;text-indent:0}
.muted,.help{color:var(--muted)}
.wrap{width:95%;max-width:720px;margin:0 auto;padding:0 0 28px;background:var(--bg)}
.section-title{text-align:center;margin:18px 0 12px}
.intro-title{margin:8px auto 10px;text-align:center}
.notice{padding:8px 10px;margin:0 auto 14px;border:1px solid var(--line);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:14px;max-width:680px}
.notice.ok{background:#f3fff3;color:#124d12}
.notice.err{background:#fff4f4;color:#8b0000}
.nl-public-page{padding:0 0 24px}
.nl-form-wrap{width:95%;max-width:680px;margin:0 auto 0}
.nl-subscribe-form{margin:14px 0 10px}
.nl-form-row{display:flex;gap:8px;align-items:center}
.nl-form-row input[type=email]{flex:1;min-width:0;padding:6px 8px;border:1px solid #999;background:#fff;font:14px Arial,Helvetica,sans-serif;border-radius:0}
.nl-button{display:inline-block;padding:6px 14px;border:1px solid #b7b79c;background:var(--vote-bg);color:#111;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.35;border-radius:999px;cursor:pointer;white-space:nowrap}
.nl-button:hover{font-weight:normal;filter:brightness(0.98)}
.nl-small{font-size:9pt;color:var(--muted);text-indent:0;margin-top:8px}
.nl-bullets{width:95%;max-width:680px;margin:10px auto 0;padding-left:22px}
.nl-bullets li{margin:7px 0;line-height:1.5}
.nl-bullets li::marker{color:#000}
.nl-legal{width:95%;max-width:680px;margin:30px auto 0}
.nl-legal p,.nl-legal li{font-size:9pt;line-height:1.5}
.nl-message-wrap p{
  font-size:11pt;
  line-height:1.45 !important;
}
.nl-message-wrap p{font-size:11pt;line-height:1.55}
.nl-message-links{margin-top:14px}
.nl-message-links p{font-size:10pt;text-indent:0;text-align:center}
.nl-admin-login{
  display:block;
  min-height:0;
  padding:28px 18px 0;
}
.nl-admin-login-card{width:100%;max-width:760px;padding:0;background:transparent;border:0;box-shadow:none}
.nl-admin-login-flat{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;max-width:760px}
.nl-admin-login h1{
  margin:0 0 18px;
  font-size:32px;
  text-align:center;
}
.nl-admin-login-form{
  width:100%;
  max-width:760px;
  margin:0 auto;
}
.nl-login-user-row{
  display:flex;
  align-items:baseline;
  gap:6px;
  margin:0 0 18px;
  padding:0;
  font-size:18px;
}
.nl-login-user-label{
  display:inline;
  margin:0;
}
.nl-login-pass-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 22px;
}

.nl-login-pass-row label{
  margin:0;
  width:auto;
  min-width:132px;
  font-size:18px;
}

.nl-login-pass-row input{
  width:160px;
  max-width:100%;
  margin:0;
  padding:8px 14px;
  border:1px solid #bcbcbc;
  border-radius:14px;
  background:#fff;
  font-size:18px;
  line-height:1.2;
}

.nl-login-actions{
  margin:0;
}
.nl-admin-login button{
  margin:0;
  padding:7px 16px;
  border:1px solid #888;
  border-radius:6px;
  background:#f7f7f7;
  font-size:16px;
  cursor:pointer;
}
.nl-admin-body{background:#f2f2f2}
.nl-admin-top{background:#fff;border-bottom:1px solid #ddd;padding:18px 22px}
.nl-admin-top h1{margin:0 0 10px;font-size:28px}
.nl-admin-nav{display:flex;flex-wrap:wrap;gap:12px}
.nl-admin-nav a{color:#0033cc;padding:8px 10px;border:1px solid transparent}
.nl-admin-nav a.is-active{border-color:#cfd6eb;background:#f7f9ff}
.nl-admin-main{max-width:1320px;margin:0 auto;padding:24px 18px 40px}
.nl-grid{display:grid;gap:18px}
.nl-grid-cards{grid-template-columns:repeat(6,1fr)}
.nl-grid-two{grid-template-columns:1fr 1fr;margin-top:18px}
.nl-card{padding:22px 24px;background:#fff;border:1px solid #d8d8d8;box-shadow:0 8px 24px rgba(0,0,0,0.04)}
.nl-card h2{font-size:21px}
.nl-metric{font-size:42px;line-height:1}
.nl-small-metric{font-size:16px;line-height:1.5}
.nl-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}
.nl-filter-links{display:flex;gap:8px;flex-wrap:wrap}
.nl-filter-links a{padding:6px 10px;border:1px solid #d8d8d8;background:#fafafa}
.nl-filter-links a.is-active{background:#f1f5ff;border-color:#bfd1ff}
.nl-table{width:100%;border-collapse:collapse}
.nl-table th,.nl-table td{border-bottom:1px solid #e8e8e8;text-align:left;padding:10px 8px;vertical-align:top;font-size:14px}
.nl-table th{font-weight:normal;color:#555}
.nl-inline-form{display:flex;gap:8px;flex-wrap:wrap}
.nl-inline-form button{padding:8px 10px;font-size:13px}
.nl-chart{width:100%;height:auto;display:block}
.nl-empty{color:#666;font-size:14px}
@media (max-width: 760px){
  .intro{flex-direction:column;align-items:flex-start}
  .intro img{margin-right:0}
  .nl-form-row{flex-direction:column;align-items:stretch}
  .nl-grid-cards,.nl-grid-two{grid-template-columns:1fr}
  .nl-admin-login{
    padding-top:18px;
  }
  .nl-admin-login h1{
    font-size:24px;
  }
  .nl-login-user-row{
    font-size:16px;
  }
  .nl-login-pass-row{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .nl-login-pass-row label{
    min-width:0;
    font-size:16px;
  }
  .nl-login-pass-row input{
    width:100%;
    font-size:16px;
  }
}
/* ===== index.php only ===== */

.nl-index-page .intro-title{
  margin: 8px auto 18px;
  text-align: center;
}

.nl-index-intro{
  width: 95%;
  max-width: 680px;
  margin: 0 auto 18px;
  line-height: 1.45 !important;
}

.nl-index-image{
  float: left;
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  padding: 5px;
  margin: 0 18px 10px 0;
}

.nl-index-text{
  display: block;
  overflow: hidden;
  font-family: Georgia,"Arial Unicode MS",Arial,sans-serif;
  font-size: 11pt;
  line-height: 1.45 !important;
  text-align: justify;
  text-indent: 0;
}

.nl-index-text,
.nl-index-text p,
.nl-index-intro,
.nl-index-intro div{
  line-height: 1.45 !important;
}

.nl-clear{
  clear: both;
}

.nl-index-page .nl-form-wrap{
  width: 95%;
  max-width: 680px;
  margin: 18px auto 0;
}

.nl-index-page .nl-form-row{
  display: block;
}

.nl-index-page .nl-form-row input[type=email]{
  display: block;
  width: 100%;
  margin: 0 0 12px 0;
}

.nl-index-page .nl-button{
  display: block;
  width: 100%;
  border-radius: 999px;
}

.nl-index-page .nl-small{
  margin-top: 12px;
  line-height: 1.45 !important;
}

@media (max-width: 760px){
  .nl-index-image{
    float: none;
    margin: 0 0 14px 0;
    padding: 5px 0;
    max-width: 100% !important;
    height: auto !important;
  }

  .nl-index-text{
    display: block;
    overflow: visible;
    text-align: left;
  }
}

/* ===== admin panel overrides ===== */
.nl-admin-body{background:#f2f2f2}
.nl-admin-top{
  background:#f2f2f2;
  border:0;
  padding:16px 22px 0;
}
.nl-admin-wrap{
  width:100%;
  max-width:620px;
  margin:0 auto;
}
.nl-admin-top h2{
  margin:0;
  font-size:14pt;
  text-align:center;
  font-weight:normal;
}
.nl-admin-nav{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:flex-start;
  margin-top:10px;
}
.nl-admin-nav a{
  padding:4px 0;
  border:0;
  background:transparent;
}
.nl-admin-nav a.is-active{
  border:0;
  background:transparent;
  font-weight:bold;
}
.nl-admin-main{
  max-width:none;
  margin:0;
  padding:12px 18px 28px;
  background:#f2f2f2;
}
.nl-admin-section{
  max-width:620px;
  margin:0 auto 18px;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.nl-admin-section h3{
  margin:0 0 8px;
  font-size:13pt;
  text-align:left;
}
.nl-dashboard-stats{
  font-size:12pt;
  line-height:1.45;
}
.nl-dashboard-stats div{
  margin:0 0 6px;
  font-size:12pt;
  line-height:1.45;
}
.nl-card,
.nl-grid,
.nl-grid-cards,
.nl-grid-two{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.nl-toolbar-620{
  max-width:620px;
}
.nl-toolbar{
  align-items:flex-start;
}
.nl-filter-links a{
  padding:4px 10px;
  border:1px solid #d2d2d2;
  background:transparent;
}
.nl-filter-links a.is-active{
  background:transparent;
  border-color:#c9c9c9;
  font-weight:bold;
}
.nl-admin-table-620{
  width:100%;
  max-width:620px;
  table-layout:auto;
}
.nl-table{
  border-collapse:collapse;
  background:transparent;
}
.nl-table th,.nl-table td{
  border-bottom:1px solid #d8d8d8;
  padding:8px 6px;
  vertical-align:top;
  font-size:12pt;
  background:transparent;
}
.nl-table th{
  color:#555;
  font-weight:normal;
}
.nl-nowrap{
  white-space:nowrap;
}
.nl-nowrap-small{
  white-space:nowrap;
  font-size:10pt;
  line-height:1.25;
}
.col-email{
  width:100%;
}
.col-status,.col-country,.col-del{
  white-space:nowrap;
  width:1%;
}
.col-dt{
  white-space:nowrap;
  width:1%;
}
.col-actions{
  white-space:nowrap;
  width:1%;
}
.nl-inline-form-compact{
  gap:4px;
}
.nl-del-btn{
  padding:2px 8px;
  border:1px solid #c7c0a0;
  background:#eeeecc;
  color:#111;
  border-radius:4px;
  font-size:10pt;
  line-height:1.25;
  cursor:pointer;
}
.nl-del-btn:hover{
  font-weight:normal;
  filter:brightness(0.98);
}
.nl-chart{
  width:100%;
  max-width:620px;
  height:auto;
  display:block;
}
@media (max-width: 760px){
  .nl-admin-top{padding:12px 14px 0}
  .nl-admin-main{padding:10px 14px 22px}
  .nl-table th,.nl-table td{font-size:10pt;padding:6px 4px}
  .nl-dashboard-stats,.nl-dashboard-stats div{font-size:10.5pt}
}


/* admin tweaks v3 */
.nl-admin-top{
  padding: 10px 18px 0;
  background:#f2f2f2;
}
.nl-admin-top h2{
  margin:0;
  font-size:14pt;
  text-align:center;
  font-weight:normal;
}
.nl-admin-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
  margin-top:10px;
  margin-bottom:10px;
}
.nl-admin-nav a,
.nl-filter-links a{
  display:inline-block;
  padding:5px 12px;
  border:1px solid #c7c0a0;
  background:#eeeecc;
  border-radius:2px;
  color:#0033cc;
}
.nl-admin-nav a.is-active,
.nl-filter-links a.is-active{
  font-weight:bold;
  background:#eeeecc;
  border-color:#c7c0a0;
}
.nl-admin-main{
  max-width:none;
  margin:0;
  padding:0 18px 28px;
  background:#f2f2f2;
}
.nl-admin-wrap{
  width:100%;
  max-width:620px;
  margin:0 auto;
}
.nl-admin-section{
  max-width:620px;
  margin:0 auto 18px;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.nl-admin-title-center{
  text-align:center !important;
  margin:0 0 8px;
}
.nl-admin-title-left{
  text-align:left !important;
  margin:0;
}
.nl-admin-section-gap{
  margin-top:15px;
}
.nl-stats-table{
  width:100%;
  border-collapse:collapse;
  margin:0 0 10px;
}
.nl-stats-table td{
  width:50%;
  padding:0 12px 6px 0;
  vertical-align:top;
  font-size:12pt;
  line-height:1.45;
  background:transparent;
  border:0;
}
.nl-last-mailing{
  font-size:12pt;
  line-height:1.45;
  margin-top:2px;
}
.nl-table{
  width:100%;
  max-width:620px;
  border-collapse:collapse;
  background:transparent;
}
.nl-table th,.nl-table td{
  border-bottom:1px solid #d8d8d8;
  padding:8px 6px;
  vertical-align:top;
  font-size:12pt;
  background:transparent;
}
.nl-table-middle td{
  vertical-align:middle;
}
.nl-nowrap-small{
  white-space:nowrap;
  font-size:10pt;
  line-height:1.25;
}
.col-time,.col-status,.col-country,.col-del,.col-actions{
  white-space:nowrap;
  width:1%;
}
.col-count{
  white-space:nowrap;
  width:1%;
  min-width:3ch;
  max-width:3ch;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.col-dt{
  white-space:nowrap;
  width:1%;
  min-width:92px;
}
.col-email{
  width:100%;
}
.nl-action-center{
  align-items:center;
  justify-content:center;
}
.nl-inline-form-compact{
  gap:4px;
}
.nl-del-btn{
  padding:2px 10px;
  border:1px solid #c7c0a0;
  background:#eeeecc;
  color:#111;
  border-radius:4px;
  font-size:10pt;
  line-height:1.25;
  cursor:pointer;
}
.nl-reset-btn{
  padding:5px 12px;
  border:1px solid #aa6666;
  background:#d66;
  color:#fff;
  border-radius:2px;
  font-size:10pt;
  font-weight:bold;
  line-height:1.25;
  cursor:pointer;
}


/* ===== admin final tweaks ===== */
.nl-admin-body,
.nl-admin-top,
.nl-admin-main,
.nl-admin-wrap,
.nl-admin-section,
.nl-admin-table-620,
.nl-table,
.nl-table thead,
.nl-table tbody,
.nl-table tr,
.nl-table td,
.nl-table th {
  background:#f2f2f2 !important;
}
.nl-admin-body,
.nl-admin-main,
.nl-admin-top,
.nl-admin-wrap,
.nl-admin-section,
.nl-admin-main p,
.nl-admin-main div,
.nl-admin-main span,
.nl-admin-main td,
.nl-admin-main th,
.nl-admin-main li,
.nl-admin-main a,
.nl-admin-main form,
.nl-admin-main input,
.nl-admin-main button {
  font-family: Georgia, "Arial Unicode MS", Arial, sans-serif !important;
  font-size: 9pt !important;
  line-height: 1.45 !important;
}
.nl-admin-top {
  border-bottom:0 !important;
  padding:18px 0 0 !important;
}
.nl-admin-wrap,
.nl-admin-main {
  max-width:620px !important;
  margin:0 auto !important;
}
.nl-admin-main {
  padding:0 0 24px !important;
}
.nl-admin-top h2 {
  margin:0 0 10px !important;
  font-size:14pt !important;
  font-weight:normal !important;
  text-align:center !important;
}
.nl-admin-nav {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  justify-content:flex-start !important;
  margin:0 0 10px !important;
}
.nl-admin-nav a,
.nl-filter-links a {
  display:inline-block !important;
  padding:8px 16px !important;
  border:1px solid #c7c1a1 !important;
  background:#eeeecc !important;
  color:#0033cc !important;
  font-size:9pt !important;
  line-height:1.2 !important;
  font-weight:normal !important;
}
.nl-admin-nav a.is-active,
.nl-filter-links a.is-active {
  background:#eeeecc !important;
  border-color:#b9b28d !important;
  font-weight:bold !important;
}
.nl-admin-section {
  margin:0 !important;
  padding:0 !important;
}
.nl-admin-section-gap {
  margin-top:10px !important;
}
.nl-admin-title-center,
.nl-admin-title-left,
.nl-admin-section h3,
.nl-admin-main h3 {
  margin:10px 0 !important;
  text-align:center !important;
  font-size:13pt !important;
  font-weight:normal !important;
}
.nl-stats-table {
  width:100% !important;
  border-collapse:collapse !important;
  table-layout:fixed !important;
  margin:0 0 10px !important;
}
.nl-stats-table td {
  width:50% !important;
  padding:0 18px 6px 0 !important;
  vertical-align:top !important;
  text-indent:0 !important;
}
.nl-last-mailing {
  margin:0 0 10px !important;
  text-indent:0 !important;
}
.nl-toolbar,
.nl-toolbar-620 {
  max-width:620px !important;
  width:100% !important;
  margin:0 auto !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:10px !important;
}
.nl-toolbar-gap-top {
  margin-top:10px !important;
}
.nl-filter-links {
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}
.nl-inline-form-compact {
  gap:0 !important;
}
.nl-table,
.nl-admin-table-620 {
  width:100% !important;
  max-width:620px !important;
  border-collapse:collapse !important;
  table-layout:auto !important;
}
.nl-table th,
.nl-table td {
  padding:8px 10px !important;
  border-bottom:1px solid #d6d6d6 !important;
  text-align:left !important;
  vertical-align:middle !important;
  color:#000 !important;
}
.nl-table th {
  font-weight:normal !important;
  color:#444 !important;
}
.nl-nowrap-small {
  white-space:nowrap !important;
}
.nl-nowrap-small br {
  display:block !important;
}
.col-email { width:auto !important; }
.col-time,
.col-dt { width:90px !important; }
.col-event { width:145px !important; }
.col-country { width:62px !important; }
.col-del,
.col-actions { width:66px !important; }
.col-status { width:24px !important; }
.nl-del-btn {
  display:inline-block !important;
  min-width:46px !important;
  padding:6px 10px !important;
  border:1px solid #c7c1a1 !important;
  border-radius:4px !important;
  background:#eeeecc !important;
  color:#000 !important;
  font-weight:normal !important;
}
.nl-reset-btn {
  display:inline-block !important;
  padding:8px 12px !important;
  border:1px solid #b44 !important;
  background:#f4d6d6 !important;
  color:#900 !important;
  font-weight:bold !important;
}
.nl-table-middle td,
.nl-table-middle th,
.nl-action-center {
  vertical-align:middle !important;
}
.nl-action-center {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.nl-chart {
  max-width:620px !important;
}
