*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#20252b;overflow-x:hidden}
a{color:inherit}
.topbar{min-height:58px;background:#414141;color:#48e36b;display:flex;align-items:center;padding:10px 24px;font-weight:700;gap:12px}
.brand{font-size:18px;line-height:1.2}
.topuser{margin-left:auto;color:#fff;font-weight:400;display:flex;align-items:center;gap:10px}
.menu-toggle{display:none;border:0;background:#666;color:#fff;border-radius:6px;width:40px;height:38px;font-size:22px;cursor:pointer;flex:0 0 auto}
.layout{display:flex;min-height:calc(100vh - 58px)}
.sidebar{width:235px;flex:0 0 235px;background:#4b4b4b;color:#fff;padding:18px 14px;transition:transform .2s ease}
.side-title{font-weight:700;margin:8px 10px 15px}
.nav a{display:block;padding:11px 12px;color:#fff;text-decoration:none;border-radius:4px;margin:3px 0}
.nav a:hover,.nav a.active{background:#666}
.content{flex:1;min-width:0;padding:24px;max-width:1500px}
.card{background:#fff;border:1px solid #dfe4e8;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000000d}
.page-title{margin:0 0 6px;font-size:24px;line-height:1.25}
.muted{color:#6b7280}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.metric{background:#fff;border:1px solid #dfe4e8;border-radius:8px;padding:18px;min-width:0}
.metric .num{font-size:28px;font-weight:700;margin-top:7px;overflow-wrap:anywhere}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table{width:100%;border-collapse:collapse;min-width:620px}
.table th,.table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}
.table th{background:#f7f8f9;white-space:nowrap}
.btn{display:inline-block;border:0;border-radius:5px;padding:9px 13px;text-decoration:none;cursor:pointer;font-weight:600;line-height:1.25;text-align:center}
.btn-primary{background:#087f8f;color:#fff}.btn-secondary{background:#6b7280;color:#fff}.btn-danger{background:#b42318;color:#fff}.btn-light{background:#e9ecef;color:#222}
.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.field{min-width:0}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;min-width:0;padding:10px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;font:inherit}
.field textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}
.alert{padding:12px 14px;border-radius:5px;margin-bottom:16px}.alert-success{background:#e8f7ed;color:#176b36}.alert-error{background:#fdecec;color:#8a1c1c}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f4;padding:20px}
.login-box{width:420px;max-width:100%;background:#fff;padding:30px;border-radius:10px;box-shadow:0 5px 30px #0000001f}
.login-box h1{margin-top:0;line-height:1.2}.pill{display:inline-block;padding:4px 8px;border-radius:12px;background:#e7f5f6;color:#087f8f;font-size:12px;font-weight:700}
.chart-box{min-height:350px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.donation-box{background:#087f8f;color:#fff;border-radius:4px;padding:20px}.donation-box h2{margin:0 0 8px}.footer-note{font-size:12px;color:#6b7280;margin-top:20px}

/* Client dashboard */
.client-top{background:#414141;color:#36d95e;min-height:58px;display:flex;align-items:center;padding:10px 24px;font-weight:700;gap:12px}
.client-brand{font-size:17px;line-height:1.2}.client-user{margin-left:auto;color:#fff;font-weight:400;display:flex;align-items:center;gap:8px;text-align:right}
.client-layout{display:flex;min-height:calc(100vh - 58px)}
.client-side{width:220px;flex:0 0 220px;background:#4b4b4b;color:#fff;padding:14px;transition:transform .2s ease}
.client-side .side-section{font-size:15px;font-weight:700;padding:10px 12px 7px}.client-side a{display:block;color:#fff;text-decoration:none;padding:9px 12px;border-radius:3px}.client-side a:hover,.client-side a.active{background:#666}
.client-main{flex:1;min-width:0;padding:22px;overflow:hidden}
.word-title{font-family:Georgia,serif;font-size:22px;font-weight:700;margin:0 0 4px;line-height:1.25}.word-subtitle{font-family:Georgia,serif;font-size:15px;font-weight:700;margin:0 0 18px;line-height:1.4}
.dashboard-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid #d9d9d9;padding:12px;margin-bottom:15px}.dashboard-controls .field{min-width:170px;flex:1}.dashboard-controls label{font-size:12px}
.metrics-table th{font-size:14px;text-align:center}.metrics-table td{text-align:center}.metrics-table td:first-child{text-align:left;font-weight:700}.company-total{font-weight:700;background:#f4f4f4}
.word-card{border:1px solid #8c8c8c;background:#fff;padding:16px}.donation-card{background:#0b809e;color:#fff;padding:18px;border:1px solid #7b3d77}.donation-card h2{font-family:Georgia,serif;margin:0 0 10px;line-height:1.3}.donation-card .drop{color:#e87535;font-weight:700;margin-left:18px}.donation-list{line-height:1.7;font-weight:600;overflow-wrap:anywhere}
.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.chart-card{background:#fff;border:1px solid #ddd;padding:16px;min-height:350px;min-width:0}.chart-card h3{font-family:Georgia,serif;margin-top:0;line-height:1.35}.pie-wrap{height:285px;position:relative;width:100%}

@media(max-width:1100px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .topbar,.client-top{padding:9px 14px}
  .menu-toggle{display:block}
  .sidebar,.client-side{position:fixed;z-index:1000;top:58px;bottom:0;left:0;transform:translateX(-105%);box-shadow:5px 0 20px #0004;overflow-y:auto}
  .sidebar.open,.client-side.open{transform:translateX(0)}
  .layout,.client-layout{display:block}
  .content,.client-main{width:100%;padding:16px}
  .chart-row,.two-col{grid-template-columns:1fr}
  .chart-card{min-height:330px}
}
@media(max-width:600px){
  html{font-size:15px}
  .brand,.client-brand{font-size:15px;max-width:62vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topuser,.client-user{font-size:12px;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .content,.client-main{padding:10px}
  .grid,.form-grid{grid-template-columns:1fr}
  .card,.word-card,.chart-card,.donation-card{padding:12px}
  .page-title{font-size:21px}.word-title{font-size:19px}.word-subtitle{font-size:14px}
  .dashboard-controls{display:grid;grid-template-columns:1fr;align-items:stretch;padding:10px}.dashboard-controls .field{min-width:0}.dashboard-controls .btn{width:100%}
  .actions{display:grid;grid-template-columns:1fr}.actions .btn{width:100%}
  .table{min-width:560px}.table th,.table td{padding:8px;font-size:13px}
  .metric{padding:14px}.metric .num{font-size:24px}
  .chart-card{min-height:300px}.pie-wrap{height:245px}
  .login-page{padding:12px}.login-box{padding:22px 16px;border-radius:8px}
}
@media(max-width:380px){
  .brand,.client-brand{max-width:55vw}.topuser,.client-user{max-width:28vw}.menu-toggle{width:36px;height:36px}
  .pie-wrap{height:220px}
}


/* Wix Embed Mode: Wix supplies the public header/footer. The embedded portal
   therefore keeps only the portal UI (sidebar + content) and no duplicate header. */
.embed-mode{background:#f4f6f8}
.embed-mode .topbar,.embed-mode .client-top{display:none}
.embed-mode .layout,.embed-mode .client-layout{min-height:100vh}
.embed-mode .content,.embed-mode .client-main{width:100%;max-width:none;padding:22px}
.embed-mode .sidebar,.embed-mode .client-side{position:relative;top:auto;left:auto;bottom:auto;transform:none;box-shadow:none}
.embed-mode .menu-toggle{display:none}
@media(max-width:850px){
  .embed-mode .sidebar,.embed-mode .client-side{position:fixed;z-index:1000;top:0;bottom:0;left:0;transform:translateX(-105%);box-shadow:5px 0 20px #0004;overflow-y:auto}
  .embed-mode .sidebar.open,.embed-mode .client-side.open{transform:translateX(0)}
  .embed-mode .menu-toggle{display:block}
  .embed-mode .layout,.embed-mode .client-layout{display:block}
  .embed-mode .content,.embed-mode .client-main{padding:16px}
}
@media(max-width:600px){
  .embed-mode .content,.embed-mode .client-main{padding:10px}
}

.asset-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.asset-filters .filter-actions{display:flex;gap:8px;align-items:end}.filter-summary{margin-bottom:12px;color:#5b6470}@media(max-width:1000px){.asset-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.asset-filters{grid-template-columns:1fr}.asset-filters .filter-actions{display:grid;grid-template-columns:1fr 1fr}.asset-filters .filter-actions .btn{width:100%}}

.portal-logout-link{background:#7d2525!important;margin-top:8px;font-weight:700}.portal-logout-link:hover{background:#9c2d2d!important}
