:root{--primary:#32134f;--accent:#d99d45;--ink:#21172a;--muted:#746c7a;--line:#e7dfea;--soft:#f5eff7;--paper:#fff;--danger:#a53845;font:16px Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f8f5fa}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#fbf8fc,#f8f4fa 60%,#fff9ef)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth-shell{min-height:100vh;padding:clamp(30px,7vw,90px) 20px;display:grid;place-content:center;gap:30px}.auth-brand{display:flex;align-items:center;gap:15px;max-width:600px}.auth-brand h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.2rem);margin:0}.auth-brand p{margin:7px 0;color:var(--muted)}.logo{width:52px;height:52px;flex:0 0 52px;border-radius:15px;background:var(--accent);color:var(--primary);display:grid;place-items:center;font-size:1.5rem;overflow:hidden}.logo img{width:100%;height:100%;object-fit:contain;background:white}.auth-card,.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 18px 48px rgba(40,18,53,.12)}.auth-card{width:min(460px,calc(100vw - 40px))}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:var(--soft);padding:5px;border-radius:12px;margin-bottom:22px}.tabs button{border:0;background:transparent;padding:10px;border-radius:9px;font-weight:750}.tabs button.active{background:white;color:var(--primary);box-shadow:0 4px 12px rgba(40,18,53,.1)}.stack{display:grid;gap:16px}.stack h2{font-family:Georgia,serif;margin:0}.stack label,.form-grid label{display:grid;gap:7px;font-weight:750;font-size:.88rem}.stack input,.stack select,.stack textarea,.form-grid input,.form-grid select,.form-grid textarea,.search{width:100%;border:1px solid #d9cfe0;border-radius:11px;padding:12px;background:#fff;color:var(--ink);outline:none;min-height:46px}.stack input:focus,.stack textarea:focus,.form-grid input:focus,.search:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}textarea{min-height:105px;resize:vertical}.primary,.secondary{border:0;border-radius:11px;min-height:44px;padding:11px 15px;font-weight:800}.primary{background:var(--primary);color:white}.secondary{background:var(--accent);color:#24142d}.hint{color:var(--muted);font-size:.83rem;line-height:1.5;margin:0}.onboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.app{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:var(--primary);color:white;padding:26px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;margin:0 6px 30px}.brand strong,.brand span,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:1.15rem}.brand span{font-weight:800;margin-top:4px;font-size:.8rem}.brand small{opacity:.75;margin-top:2px}nav{display:grid;gap:7px}nav button{border:0;background:transparent;color:inherit;text-align:left;padding:12px;border-radius:11px;font-weight:700;opacity:.78}nav button.active,nav button:hover{background:rgba(255,255,255,.14);opacity:1}.account{margin-top:auto;border-top:1px solid rgba(255,255,255,.18);padding:16px 8px 0;font-size:.78rem;overflow-wrap:anywhere}.account button{display:block;margin-top:8px;border:0;background:none;color:inherit;text-decoration:underline;padding:0}main{min-width:0;padding:34px clamp(20px,4vw,56px) 80px}.mobile-head{display:none}.view{display:none}.view.active{display:block}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-head h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);margin:3px 0}.eyebrow{margin:0;color:var(--primary);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.search{max-width:330px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 10px 28px rgba(40,18,53,.07)}.card h3{margin:0 0 7px}.card p{margin:5px 0;color:var(--muted);line-height:1.45}.card .meta{font-size:.8rem}.card .actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.small{border:1px solid var(--line);background:white;border-radius:9px;padding:7px 9px;font-size:.76rem;font-weight:750}.small.danger{color:var(--danger)}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--primary);font-size:.7rem;font-weight:800;text-transform:capitalize}.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:45px 20px;background:white;border:1px dashed var(--line);border-radius:17px}.section-heading{font-family:Georgia,serif;margin:30px 0 15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px}.form-grid .wide{grid-column:1/-1}.member-message{display:none;max-width:760px;color:var(--muted)}body.role-member .edit-only,body.role-member .admin-only,body.role-leader .admin-only{display:none!important}body:not(.role-admin) .member-message{display:block}dialog{width:min(650px,calc(100vw - 28px));border:0;border-radius:20px;padding:0;box-shadow:0 24px 80px rgba(25,9,35,.3)}dialog::backdrop{background:rgba(25,9,35,.58)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-family:Georgia,serif}.modal-head button{border:0;background:none;font-size:1.6rem}.modal-head+.stack{padding:22px}.toast{position:fixed;z-index:20;bottom:22px;left:50%;transform:translate(-50%,25px);background:#201528;color:#fff;padding:12px 18px;border-radius:11px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:950px){.sidebar{display:none}.app{grid-template-columns:1fr}main{padding:18px 16px 95px}.mobile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.mobile-head button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px}.cards{grid-template-columns:1fr 1fr}.onboard-grid{grid-template-columns:1fr}}@media(max-width:620px){.cards{grid-template-columns:1fr}.page-head{display:block}.page-head>button,.search{margin-top:14px;width:100%;max-width:none}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.auth-brand{align-items:flex-start}.auth-brand .logo{margin-top:5px}}
