:root{
  --orange:#C9622A;
  --orange-light:#E0783E;
  --charcoal:#2B2B2B;
  --charcoal-2:#3A3530;
  --cream:#F4E3D7;
  --cream-2:#D8D3CC;
  --gray-light:#757068;
  --white:#ffffff;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--charcoal);
  color:var(--cream-2);
  min-height:100vh;
}
a{color:var(--orange-light);}

.center-screen{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.logo-row{display:flex;align-items:center;gap:10px;margin-bottom:28px;justify-content:center;}
.node{width:10px;height:10px;border-radius:50%;background:var(--orange);}
.logo-row h1{font-size:18px;letter-spacing:0.04em;margin:0;font-weight:700;color:var(--cream-2);}
.logo-row h1 span{color:var(--orange);}

.card{
  background:var(--charcoal-2);
  border:1px solid #4a433c;
  border-radius:10px;
  padding:28px;
}

.login-card{width:100%;max-width:380px;}

label{display:block;font-size:13px;font-weight:600;color:var(--cream-2);margin-bottom:6px;}
input, select{
  width:100%;
  background:#211F1C;
  border:1px solid #554d43;
  border-radius:6px;
  color:#F4E3D7;
  padding:10px 12px;
  font-size:14px;
  margin-bottom:16px;
}
input:focus, select:focus{outline:2px solid var(--orange-light);outline-offset:1px;}

button{
  background:var(--orange);
  color:#fff;
  border:none;
  padding:10px 18px;
  border-radius:6px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:background .15s ease;
}
button:hover{background:var(--orange-light);}
button.secondary{background:transparent;border:1px solid var(--gray-light);color:var(--cream-2);}
button.secondary:hover{border-color:var(--orange-light);color:var(--orange-light);}
button:disabled{opacity:0.5;cursor:not-allowed;}

.error-msg{
  color:#e08a7c;
  font-size:13px;
  margin:-8px 0 16px;
  display:none;
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 32px;
  border-bottom:1px solid #4a433c;
}
.page-wrap{max-width:960px;margin:0 auto;padding:32px;}

.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;}
.stat-tile{background:var(--charcoal-2);border:1px solid #4a433c;border-radius:10px;padding:18px 20px;}
.stat-tile .label{font-size:12px;text-transform:uppercase;letter-spacing:0.04em;color:var(--gray-light);font-weight:700;margin-bottom:6px;}
.stat-tile .value{font-size:24px;font-weight:700;color:var(--cream-2);}
.stat-tile .value.accent{color:var(--orange-light);}

.week-group{margin-bottom:22px;}
.week-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #4a433c;
  margin-bottom:8px;
}
.week-head .week-label{font-size:13px;font-weight:700;color:var(--cream-2);text-transform:uppercase;letter-spacing:0.03em;}
.week-head .week-total{font-size:13px;font-weight:700;color:var(--orange-light);}

table{width:100%;border-collapse:collapse;}
th, td{text-align:left;padding:10px 8px;font-size:13.5px;border-bottom:1px solid #3a352f;}
th{color:var(--gray-light);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:0.03em;}
td.num{text-align:right;font-variant-numeric:tabular-nums;}
th.num{text-align:right;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.form-grid .full{grid-column:1 / -1;}

.empty-state{color:var(--gray-light);font-size:14px;padding:24px 0;text-align:center;}

.action-link{background:none;border:none;color:var(--gray-light);font-size:12px;cursor:pointer;padding:4px 8px;}
.action-link:hover{color:#e08a7c;}

table.spreadsheet{border:1px solid #4a433c;border-radius:8px;overflow:hidden;}
table.spreadsheet th, table.spreadsheet td{border:1px solid #3a352f;padding:12px 14px;}
table.spreadsheet th{background:var(--charcoal-2);}
table.spreadsheet td{background:#211F1C;}
table.spreadsheet th.num, table.spreadsheet td.num{width:110px;}
table.spreadsheet tbody tr:nth-child(even) td{background:#26221e;}
