:root { --ink:#242629; --muted:#686c67; --green:#6f8b31; --green-dark:#5d7627; --sage:#eef2e8; --cream:#f5f4ee; --line:#dfe1da; --navy:#25313a; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"Open Sans","Segoe UI",Arial,sans-serif; }
.top { min-height:86px; padding:18px max(20px,calc((100vw - 1080px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; background:#fff; border-bottom:1px solid var(--line); }
.top img { width:190px; height:48px; object-fit:contain; }
.account { display:flex; align-items:center; gap:16px; color:var(--muted); font-size:.84rem; }
.shell { width:min(1080px,calc(100% - 32px)); min-height:calc(100vh - 170px); margin:0 auto; padding:48px 0 70px; }
.welcome { max-width:760px; margin-bottom:32px; }
.welcome h1 { margin:0; color:var(--navy); font-size:clamp(2.2rem,5vw,4rem); line-height:1.04; letter-spacing:-.04em; }
.welcome > p:not(.eyebrow), .welcome div > p:not(.eyebrow) { color:var(--muted); line-height:1.65; }
.eyebrow { margin:0 0 10px; color:var(--green-dark); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.auth-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.panel { padding:28px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 16px 44px rgba(30,36,40,.06); }
.panel h2 { margin:0 0 20px; color:var(--navy); font-size:1.5rem; }
.narrow { max-width:580px; margin:30px auto; }
.help { margin:-6px 0 20px; color:var(--muted); font-size:.84rem; line-height:1.55; }
.form { display:grid; gap:17px; }
.form.compact { margin-top:16px; }
.form label { display:grid; gap:7px; font-size:.8rem; font-weight:750; }
.form label > span { color:var(--muted); font-size:.72rem; font-weight:500; }
.form .check { grid-template-columns:18px 1fr; align-items:flex-start; gap:10px; font-weight:500; line-height:1.5; }
.form .check input { width:18px; margin-top:2px; accent-color:var(--green-dark); }
.form .check a { color:var(--green-dark); font-weight:750; }
input,select,textarea { width:100%; border:1px solid #cfd3ca; border-radius:9px; padding:12px 13px; background:#fcfcfa; color:var(--ink); font:inherit; }
textarea { resize:vertical; line-height:1.55; }
input:focus,select:focus,textarea:focus { outline:3px solid rgba(111,139,49,.15); border-color:var(--green); }
button { font:inherit; }
.primary,.secondary { min-height:46px; border:0; border-radius:9px; padding:0 18px; cursor:pointer; font-weight:800; }
.primary { background:var(--green-dark); color:#fff; }
.secondary { background:var(--navy); color:#fff; }
.link { padding:6px 0; border:0; background:transparent; color:var(--green-dark); cursor:pointer; font-weight:750; }
details { margin-top:20px; border-top:1px solid var(--line); padding-top:16px; }
summary { color:var(--green-dark); cursor:pointer; font-size:.8rem; font-weight:750; }
.trap { position:absolute!important; left:-9999px!important; opacity:0!important; }
.message { margin:0 0 24px; padding:15px 17px; border-radius:10px; font-size:.86rem; font-weight:700; line-height:1.5; }
.message.error { background:#f7e3df; color:#8f3827; }
.message.success { background:#e8f0dc; color:#45601d; }
.dashboard-head { max-width:none; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.admin-badge { padding:8px 12px; border-radius:999px; background:var(--navy); color:#fff; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.users { margin-bottom:28px; }
.user-list { display:grid; gap:10px; }
.user-list article { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0; border-top:1px solid var(--line); }
.user-list article:first-child { border-top:0; }
.user-list article > div:first-child { display:grid; gap:4px; }
.user-list span,.user-list small { color:var(--muted); font-size:.75rem; }
.user-actions { display:flex; align-items:center; gap:12px; }
.team-tabs { display:flex; gap:8px; overflow:auto; padding:2px 0 16px; margin-bottom:12px; }
.team-tabs a { flex:0 0 auto; padding:9px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); text-decoration:none; font-size:.74rem; font-weight:750; }
.team-tabs a.active { border-color:var(--green-dark); background:var(--green-dark); color:#fff; }
.editor-title { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.editor-title h2 { margin:0; }
.editor-title small { color:var(--muted); }
.two { display:grid; grid-template-columns:1.5fr .5fr; gap:16px; }
.leader-fields { display:grid; gap:17px; margin:8px 0 0; padding:22px; border:1px solid var(--line); border-radius:12px; background:var(--sage); }
.leader-fields legend { padding:0 8px; color:var(--navy); font-size:.95rem; font-weight:800; }
.current-photo { display:flex; align-items:center; gap:16px; }
.current-photo img { width:84px; height:84px; border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:0 5px 18px rgba(30,36,40,.12); }
.current-photo .check { max-width:260px; }
.photo-note { margin:0; color:var(--muted); font-size:.72rem; line-height:1.55; }
.publish-row { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:8px; padding-top:20px; border-top:1px solid var(--line); }
.publish-row p { max-width:460px; margin:0; color:var(--muted); font-size:.78rem; line-height:1.5; }
footer { min-height:84px; padding:28px 20px; border-top:1px solid var(--line); background:#fff; color:var(--muted); text-align:center; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; }
@media(max-width:760px){.auth-grid,.two{grid-template-columns:1fr}.dashboard-head,.editor-title,.publish-row,.user-list article{align-items:flex-start;flex-direction:column}.panel{padding:22px}.account>span{display:none}.shell{padding-top:32px}}
