:root{color-scheme:dark;--bg:#171b1c;--card:#202627;--line:#4c504c;--accent:#ffad79;--text:#f3efeb;--muted:#b7b5ae}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,sans-serif}header{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line)}header span{margin-left:auto}header form{margin:0}.brand{font-weight:750;color:var(--accent);text-decoration:none}main{max-width:1050px;margin:24px auto;padding:0 18px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0}.narrow{max-width:500px;margin:40px auto}h1,h2,h3{margin:0 0 12px}h1{font-size:26px}h2{font-size:21px}h3{font-size:18px;margin-top:18px}p{margin:10px 0}.muted,small{color:var(--muted)}a{color:var(--accent)}input,select,textarea,button{font:inherit;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px 12px}input,select,textarea{background:var(--bg);color:var(--text);width:100%}button{background:var(--accent);color:#342316;font-weight:650;cursor:pointer}button.secondary{background:transparent;color:var(--text)}button:disabled{opacity:.5;cursor:wait}label{display:block;margin:10px 0}label:has(input[type=checkbox]){display:flex;gap:9px;align-items:center;min-height:44px}input[type=checkbox]{width:20px;min-height:20px}.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.row input,.grow{flex:1;min-width:180px}.item{padding:12px 0;border-bottom:1px solid var(--line)}.item:last-child{border-bottom:0}.item-title{font-weight:650;margin-bottom:6px}details{margin-top:14px}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent)}fieldset{border:1px solid var(--line);border-radius:8px;margin:12px 0}.permission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.errorlist{color:#ffb3a9;padding-left:20px}#notice:not(:empty){padding:12px;border-radius:8px;background:#493527;border:1px solid var(--accent)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(max-width:600px){header{padding:10px 16px;flex-wrap:wrap}main{margin:16px auto}.card{padding:16px}.row{align-items:stretch}.row button{width:100%}}

dialog{width:min(420px,calc(100vw - 48px));border:1px solid #d6ccc4;border-radius:20px;padding:24px;color:inherit;background:#fbf9f6;}dialog::backdrop{background:rgba(0,0,0,.55);}dialog form, .attachment-form{display:grid;gap:14px;}dialog .row{justify-content:flex-end;}dialog label,.attachment-form label{display:grid;gap:6px;}#project-error{color:#b23725;}
