:root{--primary:#00A807;--primary-dark:#007f05;--bg:#f4f6f7;--card:#fff;--text:#102030;--muted:#5d6b78;--border:#d5dde3}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}header{background:linear-gradient(135deg,#ffffff 0%,#ffffff 45%,#ecfff0 100%);color:var(--text);padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:6px solid var(--primary)}h1{margin:0 0 8px;font-size:32px}.brand{display:flex;align-items:center;gap:22px}.brand img{width:210px;max-height:84px;object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none}.roleBadge{background:#e9fff0;color:var(--primary-dark);border:1px solid #bff0c6;border-radius:999px;padding:10px 13px;font-weight:bold;font-size:12px;letter-spacing:.08em}header p{margin:0;font-size:17px}.actions{display:flex;gap:10px;flex-wrap:wrap}.button,button{background:var(--primary);color:white;border:0;border-radius:8px;padding:12px 18px;font-weight:bold;cursor:pointer;text-decoration:none;display:inline-block}.secondary{background:#eef3f4!important;color:#163642!important}.ghost{background:#111!important;color:#fff!important}main{padding:24px}.card{background:var(--card);border-radius:14px;padding:22px;margin-bottom:24px;box-shadow:0 2px 12px rgba(0,0,0,.06)}h2{margin:0 0 22px;font-size:26px}.grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px}label{display:flex;flex-direction:column;font-weight:bold;font-size:15px;gap:6px}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:8px;padding:10px;background:white}input[readonly]{background:#f2f5f6}.formActions,.filters{display:flex;gap:12px;margin-top:18px}.filters{margin:0 0 16px}.filters input{min-width:320px}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;background:white}th,td{border-bottom:1px solid #e5eaee;padding:10px;text-align:left;font-size:14px;white-space:nowrap}th{background:#f2f5f6;color:#253544}.smallBtn{padding:7px 10px;font-size:12px;border-radius:6px}.danger{background:#b42318!important;color:#fff!important}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#00A807,#007f05)}.loginBox{width:min(460px,92vw);background:#fff;border-radius:22px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center}.loginBox h1{font-size:30px;color:#102030;text-align:center;margin:10px 0 24px}.loginLogo{display:block;width:260px;max-width:82%;margin:0 auto 20px;background:transparent}.loginBox input{width:100%;margin:10px 0 14px}.loginBox button{width:100%}.loginBox small{display:block;margin-top:14px;color:#5d6b78}.error{background:#ffe5e5;color:#a40000;padding:10px;border-radius:8px;margin:10px 0}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}header{background:linear-gradient(135deg,#ffffff 0%,#ffffff 45%,#ecfff0 100%);color:var(--text);padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:6px solid var(--primary)}.brand{flex-direction:column;align-items:flex-start}.brand img{width:210px;max-height:84px;object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none}}@media(max-width:600px){.grid{grid-template-columns:1fr}main{padding:12px}header{background:linear-gradient(135deg,#ffffff 0%,#ffffff 45%,#ecfff0 100%);color:var(--text);padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:6px solid var(--primary)}h1{font-size:26px}.filters{flex-direction:column}.filters input{min-width:0;width:100%}}
.advancedFilters{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin:0 0 18px;padding:14px;background:#f8fbf8;border:1px solid #dff0e1;border-radius:12px}.advancedFilters label{font-size:13px}.advancedFilters input,.advancedFilters select{padding:8px}.topFilters{align-items:center;flex-wrap:wrap}.topFilters input{flex:1;min-width:320px}@media(max-width:1200px){.advancedFilters{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.advancedFilters{grid-template-columns:1fr}.topFilters input{min-width:0;width:100%}}

/* Restored clean branding */
.loginBox small{display:none!important}
.muted{color:var(--muted);margin-top:-10px}.adminCard{border-left:6px solid var(--primary)}.bulkBox{margin:20px 0;padding:16px;background:#f8fbf8;border:1px solid #dff0e1;border-radius:12px}.bulkBox h3{margin:0 0 8px}.bulkBox textarea{width:100%}
.hidden{display:none!important}.checkLabel{align-self:end;display:flex;flex-direction:row;align-items:center;gap:8px;background:#f8fbf8;border:1px solid #dff0e1;border-radius:8px;padding:10px}.checkLabel input{width:auto}.requiredText{font-size:11px;color:#b42318;font-weight:bold}.requiredBlock input{border-color:#d18b00;background:#fffaf0}.tag{display:inline-block;margin-left:6px;background:#e9fff0;color:#007f05;border:1px solid #bff0c6;border-radius:999px;padding:2px 6px;font-size:11px}.sectionTitleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}#layoutNumber:not([readonly]){background:white}


/* v9: compact grouped entry form */
.formSections{display:grid;gap:14px;margin-bottom:16px}.formBlock{border:1px solid var(--border);border-radius:14px;padding:16px;margin:0}.formBlock legend{font-weight:800;font-size:16px;padding:0 8px;color:#102030}.block-contact{background:#f7fbff}.block-ride{background:#f7fff8}.block-money{background:#fffaf0}.compactGrid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.notesLabel{margin-top:12px}.checkLabel{justify-content:center;gap:8px}.checkLabel input{width:auto}.paginationBar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 14px;flex-wrap:wrap}.pageSizeLabel{flex-direction:row;align-items:center;gap:8px;font-weight:normal}.pageSizeLabel select{padding:7px}.pageControls{display:flex;align-items:center;gap:10px}.pageControls button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1200px){.compactGrid{grid-template-columns:repeat(3,minmax(150px,1fr));}}
@media(max-width:720px){.compactGrid{grid-template-columns:1fr}.paginationBar{align-items:flex-start;flex-direction:column}}

/* v10: cleaner pagination + clearer ride section */
.block-ride{
  background:linear-gradient(180deg,#eefdf1 0%,#f8fff9 100%);
  border-color:#bfeac5;
  border-left:6px solid var(--primary);
}
.block-ride legend{color:#007f05;}
.paginationBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:10px 0 14px;
  padding:10px 12px;
  background:#f8fafb;
  border:1px solid #e1e8ec;
  border-radius:12px;
}
.paginationLeft{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.resultCount{
  font-weight:700;
  color:#253544;
}
.pageSizeLabel{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:7px;
  font-weight:600;
  font-size:13px;
  color:#5d6b78;
}
.pageSizeLabel select{
  width:78px;
  min-width:78px;
  padding:6px 26px 6px 10px;
  border-radius:8px;
  background:#fff;
}
.pageControls{
  display:flex;
  align-items:center;
  gap:8px;
}
.pageInfo{
  min-width:90px;
  text-align:center;
  font-size:14px;
  font-weight:700;
  color:#253544;
}
.pageArrow{
  width:34px;
  height:34px;
  padding:0;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  line-height:1;
  background:#eef3f4;
  color:#163642;
}
.pageArrow:hover:not(:disabled){
  background:var(--primary);
  color:#fff;
}
.pageArrow:disabled{
  opacity:.35;
  cursor:not-allowed;
}
@media(max-width:720px){
  .paginationBar{align-items:stretch;flex-direction:column;}
  .paginationLeft,.pageControls{justify-content:space-between;}
}

.commentsCell{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#3f4b3f;font-size:12px;}

/* v15: admin and backup tools */
.adminToolsCard{border-left:6px solid #102030;}
.adminToolsGrid{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.adminToolsGrid .button,.adminToolsGrid button{margin:0;}

/* v16: cleaner admin pages, CHF-focused pricing, activity log */
.appNav{display:flex;gap:8px;padding:12px 24px;background:#fff;border-bottom:1px solid #dfe8e3;position:sticky;top:0;z-index:5;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.appNav a{padding:10px 14px;border-radius:999px;text-decoration:none;color:#193026;font-weight:700;background:#f3f7f4;border:1px solid transparent}
.appNav a.active,.appNav a:hover{background:#e8ffec;color:#007f05;border-color:#bfeac5}
.appPage.hidden{display:none!important}
.chfValue{background:#f1fff3;color:#003d05;font-weight:800}
.warnText{color:#b42318;font-weight:700}
th:nth-child(16),th:nth-child(17){background:#dfffe4;color:#003d05}
.block-money{background:#fff9ec;border-left:6px solid #d7a500}
.block-contact{border-left:6px solid #4f8cc9}.block-ride{border-left:6px solid var(--primary)}
@media(max-width:720px){.appNav{overflow:auto;padding:10px 12px}.appNav a{white-space:nowrap}}


/* v18: cleaner labels and required-field markers */
.fieldHint{font-weight:400;color:var(--muted);font-size:12px;line-height:1.2;display:inline;margin-left:4px;}
.reqStar{color:#b42318;font-weight:900;margin-left:3px;}
.requiredText{display:none!important;}
.formBlock label{gap:6px;}
.formBlock label input,.formBlock label select{margin-top:2px;}

/* v19: compact mandatory markers next to labels */
.labelText{display:block;line-height:1.25;min-height:18px;}
.labelText .reqStar{display:inline;margin-left:3px;vertical-align:baseline;}
.labelText .fieldHint{display:inline;margin-left:4px;}
.formBlock label{gap:5px;}
.formBlock label input,.formBlock label select{margin-top:0;}

/* v21: edit policy and ownership */
.editPolicyNote{margin:10px 0 0;color:#5c6b60;background:#f5f8f5;border:1px solid #dfe8e3;border-radius:10px;padding:9px 12px;font-size:12px;}
.smallText{font-size:12px;}
.loginBox select{width:100%;box-sizing:border-box;margin:8px 0;padding:12px 14px;border:1px solid #d9e1dc;border-radius:10px;background:#fff;font-size:14px;}

.appFooter{font-size:12px;color:#6b7785;text-align:center;padding:18px 12px 28px}.appFooter a{color:#4a5a66;text-decoration:none}.appFooter a:hover{text-decoration:underline}
