:root{--staff-bg:#f4f7fb;--staff-surface:#fff;--staff-ink:#172033;--staff-muted:#62708a;--staff-accent:#1769e0;--staff-danger:#bd2637;--staff-radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--staff-bg);color:var(--staff-ink);font:15px/1.45 Arial,sans-serif}.staff-shell{min-height:100vh;padding:32px}.staff-login,.staff-panel{max-width:1180px;margin:0 auto;background:var(--staff-surface);border-radius:var(--staff-radius);box-shadow:0 8px 32px #17203314;padding:28px}.staff-login{max-width:440px;margin-top:12vh}.eyebrow{color:var(--staff-accent);font-size:12px;font-weight:700;letter-spacing:.08em}h1{margin:4px 0;font-size:28px}p{color:var(--staff-muted)}form,label{display:grid;grid-gap:8px;gap:8px}form{margin-top:24px}button,input{min-height:44px;border-radius:8px;font:inherit}input{border:1px solid #c9d2e1;padding:8px 12px}button{border:0;background:var(--staff-accent);color:white;padding:8px 14px;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button.danger{background:var(--staff-danger)}.staff-panel header{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:24px}.staff-table{border:1px solid #dce3ee;border-radius:var(--staff-radius);overflow:auto}.staff-head,.staff-row{min-width:860px;display:grid;grid-template-columns:1.1fr 1.2fr 1fr .8fr 1.1fr;grid-gap:12px;gap:12px;padding:14px 16px;align-items:center}.staff-head{background:#eef4ff;color:var(--staff-muted);font-size:12px;font-weight:700}.staff-row{border-top:1px solid #e6ebf3}.staff-row span{display:grid;grid-gap:2px;gap:2px}.staff-row small{color:var(--staff-muted)}.actions{display:flex!important;grid-auto-flow:column;justify-content:start}.status{width:max-content;padding:4px 8px;border-radius:999px;font-size:12px;background:#fff2d7;color:#8a5a00}.status-paid{background:#ddf6e8;color:#187247}.status-cancelled{background:#fde6e8;color:#a12837}@media(max-width:700px){.staff-shell{padding:16px}.staff-login,.staff-panel{padding:20px}.staff-panel header{display:grid}.staff-head{display:none}.staff-row{grid-template-columns:1fr 1fr;min-width:0}.staff-row>span:last-child{grid-column:1/-1}.actions{flex-wrap:wrap}.staff-table{overflow:visible}}