:root{
  --bg:#211d1a;
  --surface:#2a2521;
  --surface-2:#332d27;
  --text:#f2ede4;
  --text-dim:#b5ab9c;
  --text-faint:#8a8074;
  --copper:#c9793d;
  --border:#453d34;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;}
.wrap{max-width:920px;margin:0 auto;padding:40px 24px 80px;}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;margin:0;}
.brand{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;}
.brand .mark{width:10px;height:10px;background:var(--copper);border-radius:2px;flex-shrink:0;}
.brand h1{font-size:22px;font-weight:700;letter-spacing:0.3px;}
.sub{color:var(--text-dim);font-size:13.5px;margin:0 0 32px;line-height:1.5;}
.mono{font-family:'JetBrains Mono',monospace;}

.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px;}
@media(max-width:640px){.home-grid{grid-template-columns:1fr;}}
.choice-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px;cursor:pointer;transition:border-color .15s, background .15s;text-align:left;}
.choice-card:hover{border-color:var(--copper);background:var(--surface-2);}
.choice-card .icon{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;color:var(--copper);text-transform:uppercase;margin-bottom:10px;}
.choice-card h3{font-size:16px;margin-bottom:6px;}
.choice-card p{font-size:13px;color:var(--text-dim);margin:0;line-height:1.5;}

select, input[type=text], input[type=password], textarea{
  width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;
  color:var(--text);font-family:'Inter',sans-serif;font-size:14px;padding:10px 12px;outline:none;
}
select:focus, input:focus, textarea:focus{border-color:var(--copper);}
textarea{resize:vertical;min-height:44px;}
label{display:block;font-size:12.5px;color:var(--text-dim);margin-bottom:6px;font-weight:500;}
.field{margin-bottom:16px;}
.field .q{font-size:11.5px;color:var(--copper);margin-top:5px;font-style:italic;}

.btn{background:var(--copper);color:#241407;border:none;border-radius:7px;padding:11px 20px;font-family:'Inter',sans-serif;font-weight:600;font-size:14px;cursor:pointer;}
.btn:hover{background:#dd8a4a;}
.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text-dim);}
.btn.ghost:hover{border-color:var(--copper);color:var(--text);}
.btn.small{padding:7px 12px;font-size:12.5px;}
.btn:disabled{opacity:.6;cursor:default;}

.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.back{font-size:13px;color:var(--text-dim);cursor:pointer;}
.back:hover{color:var(--text);}

.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.row2{grid-template-columns:1fr;}}

.confirm{text-align:center;padding:40px 20px;}
.confirm .big{font-size:34px;margin-bottom:6px;}
.confirm p{color:var(--text-dim);font-size:14px;margin-bottom:24px;}

.gate{max-width:340px;margin:60px auto;text-align:center;}
.gate p{color:var(--text-dim);font-size:13px;margin-bottom:18px;}
.error{color:#e0796a;font-size:12.5px;margin:8px 0 0;min-height:16px;}

.dept-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:14px;}
.dept-tab{font-size:12.5px;padding:7px 12px;border-radius:20px;cursor:pointer;color:var(--text-dim);border:1px solid var(--border);}
.dept-tab.active{background:var(--copper);color:#241407;border-color:var(--copper);font-weight:600;}
.dept-tab:not(.active):hover{border-color:var(--copper);color:var(--text);}

.entry{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:16px 18px;margin-bottom:12px;}
.entry-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
.entry-head .week{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--copper);font-weight:500;}
.entry-head .who{font-size:12px;color:var(--text-faint);}
.entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;}
@media(max-width:560px){.entry-fields{grid-template-columns:1fr;}}
.entry-field{font-size:13px;border-bottom:1px solid var(--border);padding:6px 0;}
.entry-field .k{color:var(--text-dim);}
.entry-field .v{color:var(--text);margin-top:2px;}
.empty{color:var(--text-faint);font-size:13px;padding:30px 0;text-align:center;}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
