:root{--main-red: #c8102e;--navy: #1b2a4a;--bg: #f5f6f8;--border: #dde1e7;--muted: #6b7280}*{box-sizing:border-box}body{margin:0;font-family:Open Sans,system-ui,sans-serif;background:var(--bg);color:#1f2937}.header{display:flex;align-items:center;gap:2rem;background:var(--navy);color:#fff;padding:.6rem 1.25rem}.header .brand{font-weight:700;font-size:1.05rem}.header nav{display:flex;gap:1rem;flex:1}.header nav a{color:#cbd5e1;text-decoration:none;padding:.25rem .5rem;border-radius:4px}.header nav a.active{color:#fff;background:#ffffff24}.header .user{display:flex;align-items:center;gap:.6rem;font-size:.85rem}.page{max-width:1100px;margin:1.5rem auto;padding:0 1rem}.page.login{display:flex;justify-content:center;margin-top:6rem;text-align:center}.panel{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.25rem 1.5rem}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.panel-head h1{font-size:1.25rem;margin:0}.error-panel{border-color:var(--main-red);color:var(--main-red)}.loading{padding:2rem;color:var(--muted)}.muted{color:var(--muted)}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th{text-align:left;padding:.5rem .6rem;border-bottom:2px solid var(--border);color:var(--muted);font-weight:600;white-space:nowrap}table.data td{padding:.45rem .6rem;border-bottom:1px solid var(--border)}table.data tr:hover td{background:#fafbfc}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge.active{background:#e7f6ec;color:#15803d}.badge.inactive{background:#f3f4f6;color:var(--muted)}.badge.editor{background:#fde8ec;color:var(--main-red)}.badge.viewer{background:#e5e7eb;color:#374151}button{font:inherit;padding:.4rem .9rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--main-red);border-color:var(--main-red);color:#fff}button.link{border:none;background:none;color:var(--main-red);padding:.1rem .25rem}.header button.link{color:#cbd5e1}input,select{font:inherit;padding:.4rem .55rem;border:1px solid var(--border);border-radius:6px;background:#fff}.filters{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.filters input{width:260px}.filters .count{color:var(--muted);font-size:.85rem;margin-left:auto}.pager{display:flex;gap:1rem;align-items:center;justify-content:center;padding-top:.9rem;font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh;z-index:10}.modal{background:#fff;border-radius:10px;width:min(460px,92vw);max-height:84vh;overflow:auto;padding:1.1rem 1.4rem 1.4rem}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0;font-size:1.1rem}.field{display:block;margin-top:.8rem}.field>span{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.25rem}.field input:not([type=checkbox]),.field select{width:100%}.form-error{color:var(--main-red);font-size:.85rem}.form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.2rem}
