*{box-sizing:border-box;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f6f7f9;color:#1a202c;font-size:16px}.app-shell{max-width:1100px;margin:0 auto;padding:0 16px 48px}.topbar{display:flex;align-items:center;gap:20px;padding:14px 0;margin-bottom:24px;border-bottom:1px solid #e2e8f0}.topbar .brand{font-weight:700;font-size:18px;margin-right:8px}.topbar a{color:#2b6cb0;text-decoration:none;padding:4px 2px}.topbar a.active{color:#1a202c;font-weight:600;border-bottom:2px solid #2b6cb0}.topbar .spacer{flex:1}.topbar button{background:none;border:none;color:#718096;cursor:pointer;font-size:15px}h1{font-size:22px;margin-bottom:16px}h2{font-size:17px;margin:24px 0 10px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;margin-bottom:16px}label{display:block;font-size:14px;color:#4a5568;margin:12px 0 4px}input[type=text],input[type=email],input[type=password],textarea{width:100%;padding:10px 12px;font-size:15px;border:1px solid #cbd5e0;border-radius:8px;background:#fff}textarea{min-height:120px;resize:vertical;font-family:inherit}button.primary{background:#2b6cb0;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:15px;cursor:pointer;margin-top:14px}button.primary:disabled{background:#a0aec0;cursor:default}button.danger{background:none;border:none;color:#c53030;cursor:pointer;font-size:14px}button.small{background:none;border:1px solid #cbd5e0;border-radius:6px;padding:4px 10px;font-size:13px;cursor:pointer}.error{color:#c53030;margin-top:10px;font-size:14px}.success{color:#276749;margin-top:10px;font-size:14px}.empty{color:#718096;padding:24px 0;text-align:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:13px;color:#718096;padding:6px 8px;border-bottom:1px solid #e2e8f0;white-space:nowrap}td{padding:10px 8px;border-bottom:1px solid #edf2f7;font-size:15px;white-space:nowrap;vertical-align:middle}td.wrap{white-space:normal}td.actions{text-align:right;white-space:normal}td.actions button{margin:2px 0 2px 8px;white-space:nowrap}button.danger.small-danger{border:1px solid #fc8181;border-radius:6px;padding:4px 10px;font-size:13px}.login-wrap{max-width:380px;margin:12vh auto 0}.login-wrap .brand{font-size:24px;font-weight:700;text-align:center;margin-bottom:20px}.hint{font-size:13px;color:#718096;margin-top:12px}
