:root{font-family:Inter,'Segoe UI',sans-serif;color:#21382e;background:#f5f6f1;font-size:15px}*{box-sizing:border-box}body{margin:0;padding:28px 18px}main{max-width:820px;margin:30px auto}.login{max-width:420px;margin:8vh auto}.brand{font-weight:700;color:#1e6047;font-size:14px;letter-spacing:1px}h1{font-size:27px;margin:18px 0 12px}p{line-height:1.6;color:#67796b;font-size:13px}.panel{background:white;border:1px solid #dce4d7;padding:24px;border-radius:12px;margin:20px 0}form{display:grid;gap:16px}label{display:grid;gap:7px;font-size:13px}input,select,button{font:inherit;min-height:44px;border-radius:7px;padding:11px 12px}input,select{border:1px solid #c9d6c5;width:100%;background:#fcfdf9}button{border:0;background:#1e6047;color:white;cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:#1e6047}nav{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.message{font-size:13px;line-height:1.6;white-space:pre-wrap}.error{color:#9a3423}.success{color:#1e6047}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px 8px;border-bottom:1px solid #e4e9df}td button{font-size:12px;margin:3px}.muted{color:#6e7b72}small{display:block;margin-top:5px;font-size:11px}h2{font-size:18px}[hidden]{display:none!important}.actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:500px){body{padding:16px 12px}.panel{padding:18px}h1{font-size:24px}}
:root{color-scheme:light;background:#f3f7f4;color:#193b2d}body{background:#f3f7f4}.brand,a{color:#176247}.panel{border-color:#d7e4db;box-shadow:0 3px 12px #173e3008}button{background:#215d43;color:#fff}

/* Consistent touch-friendly back button on every page. */
.page-back-bar{position:sticky;top:0;z-index:80;display:flex;align-items:center;min-height:60px;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));background:#f3f7f4;border-bottom:1px solid #d7e4db}#page-back{display:inline-flex;align-items:center;justify-content:center;min-width:100px;min-height:44px;padding:10px 18px;border:1px solid #91b69e;border-radius:9px;background:#fff;color:#173e30;font:600 16px/1.2 Inter,Segoe UI,sans-serif;cursor:pointer}#page-back:focus-visible{outline:3px solid #377c5b;outline-offset:3px}#page-back:hover{background:#e5f1e7}
.page-back-bar{margin:-16px -12px 20px}@media(min-width:501px){.page-back-bar{margin:-28px -18px 20px}}
/* Matching account and sign-in presentation. */
:root{background:#f5f8f6;color:#213c2e}body{background:#f5f8f6}main{max-width:820px}.brand{color:#15583e;font-size:13px;font-weight:800;letter-spacing:1.4px}.panel{border:1px solid #dce8e0;border-radius:20px;box-shadow:0 5px 20px #153d2c06;padding:26px}.login{background:#fff;border:1px solid #dce8e0;border-radius:24px;padding:28px;box-shadow:0 8px 30px #153d2c08}.login>.panel{padding:0;border:0;box-shadow:none}.login h1{color:#15583e}h1{letter-spacing:-.7px}label{font-weight:600;font-size:14px}input,select{background:#fbfdfb;border:1px solid #b4cdbd;border-radius:11px;min-height:48px;font-size:16px}button{background:#15583e;min-height:48px;border-radius:11px;font-weight:650}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #63a985;outline-offset:2px}.page-back-bar{background:#15583e;color:#fff;border:0}#page-back{background:#ffffff12;border:1px solid #ffffff40;color:#fff;border-radius:11px}nav a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #bfd7c8;border-radius:10px;padding:8px 12px;background:white;text-decoration:none}main:not(.login)>h1{padding:25px;border-radius:20px;background:#15583e;color:white}.actions{gap:10px}td button{border-radius:9px;font-size:13px}.message{border-radius:12px;padding:12px}.message:empty{display:none}.message.success{background:#eaf5ee}.message.error{background:#fff0ee}
@media(max-width:600px){.login{padding:24px 20px;margin:32px auto}.panel{padding:20px 16px}table,tbody{display:block;width:100%}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}tr{display:grid;gap:10px;background:#f7faf8;border:1px solid #dce8e0;border-radius:13px;padding:15px;margin:12px 0}td{display:block;border:0;padding:0}td:first-child{font-size:17px;font-weight:700}td small{font-size:12px;font-weight:400}td:last-child button{margin:6px 4px 0 0}main:not(.login)>h1{padding:22px;font-size:25px}}

/* Design system v2 for login, password and Staff Accounts (matches style.css). Presentation only. */
:root{--brand-50:#f0f9f4;--brand-100:#e1f3e9;--brand-200:#bfe3cd;--brand-600:#178048;--brand-700:#136c3c;--brand-800:#0f5f36;--ink:#0f1f17;--ink-2:#34463c;--ink-muted:#6b7c72;--line:#e3eae6;--line-2:#d3ddd7;--canvas:#f5f8f6;background:var(--canvas);color:var(--ink)}
body{background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI Variable Text","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:13px;font-weight:650;letter-spacing:.02em}
.brand::before{content:"a";display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:9px;background:var(--brand-600);color:#fff;font-size:18px;font-weight:700;letter-spacing:0}
h1,.login h1,main:not(.login)>h1{background:none;color:var(--ink);padding:0;border-radius:0;font-size:26px;font-weight:650;letter-spacing:-.02em;margin:22px 0 8px}
h2{color:var(--ink);font-size:17px;font-weight:650;letter-spacing:-.01em}
p{color:var(--ink-muted);font-size:13.5px}
a{color:var(--brand-700)}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,20,.04);padding:24px}
.login{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 32px -16px rgba(16,24,20,.2);padding:32px}
.login h1{margin-top:24px}
label{color:var(--ink-2);font-size:13.5px;font-weight:600}
input,select{min-height:44px;border:1px solid var(--line-2);border-radius:8px;background:#fff;color:var(--ink);font-size:15px}
input:focus,select:focus,input:focus-visible,select:focus-visible{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 3px rgba(23,128,72,.16)}
button{min-height:44px;border:1px solid var(--brand-600);border-radius:8px;background:var(--brand-600);color:#fff;font-weight:600;box-shadow:0 1px 2px rgba(16,24,20,.08)}
button:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700)}
button:focus-visible,a:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}
td button,button[type=button]{min-height:36px;padding:7px 12px;background:#fff;color:var(--ink-2);border:1px solid var(--line-2);font-weight:500;font-size:13px;box-shadow:none}
td button:hover:not(:disabled),button[type=button]:hover:not(:disabled){background:var(--canvas);border-color:var(--ink-muted);color:var(--ink)}
td button[data-action=disable]{color:#b42318;border-color:#f1c4bf}
td button[data-action=disable]:hover:not(:disabled){background:#fef3f2;border-color:#e59a92;color:#912018}
td select{min-height:36px;font-size:13px;margin-bottom:6px}
td label{font-size:12px;font-weight:500;color:var(--ink-muted)}
th{background:#f8faf9;color:var(--ink-muted);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
td,th{border-bottom-color:var(--line)}
td small{color:var(--ink-muted)}
nav a{min-height:36px;border:1px solid var(--line-2);border-radius:8px;background:#fff;color:var(--ink-2);font-weight:500}
nav a:hover{background:var(--canvas);color:var(--ink)}
.message{border:1px solid transparent}
.message.success{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-800)}
.message.error{background:#fef3f2;border-color:#f4c7c2;color:#912018}
.page-back-bar{background:#fff;border-bottom:1px solid var(--line);color:var(--ink)}
#page-back{background:#fff;border:1px solid var(--line-2);color:var(--ink-2);border-radius:8px;font-weight:500}
#page-back:hover{background:var(--canvas)}
@media(max-width:600px){tr{background:#fff;border-color:var(--line);border-radius:12px}.login{padding:24px 20px}h1,main:not(.login)>h1{font-size:23px;padding:0}}