:root{--bg: #f6f3ec;--bg-2: #fff;--gold: #b8923a;--gold-2: #8f6d24;--text: #1c1914;--muted: #6b6458;--line: rgba(184, 146, 58, .28);--danger: #c04545}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif}body{background:radial-gradient(900px 420px at 80% -10%,rgba(184,146,58,.16),transparent 50%),var(--bg)}h1,h2{margin:0 0 .4rem;letter-spacing:-.02em}button,input,textarea,select{font:inherit}a{color:var(--gold-2)}.shell{max-width:1120px;margin:0 auto;padding:24px 20px 64px}header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}header nav{display:flex;gap:8px;flex-wrap:wrap}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--gold)}.lead,.muted{color:var(--muted)}.pad{padding:32px}.card{background:var(--bg-2);border:1px solid var(--line);padding:18px;display:grid;gap:10px}.wide{grid-column:1 / -1}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}label{display:grid;gap:6px;font-size:.82rem;color:var(--muted)}input,textarea,select{border:1px solid var(--line);background:#fff;padding:10px 12px;color:var(--text)}button{border:1px solid var(--line);background:#fff;padding:8px 12px;cursor:pointer}button.active,button.primary{background:var(--gold);border-color:var(--gold);color:#fff}button.text{border:0;background:transparent;color:var(--muted)}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions{display:flex;gap:8px;justify-content:flex-end}.err{color:var(--danger)}.ok{color:#2f6b3a}.login{max-width:440px;margin:8vh auto;padding:20px;display:grid;gap:12px}.quota{display:grid;gap:10px}.quota div{display:grid;grid-template-columns:80px 1fr;gap:6px;align-items:center;position:relative}.quota strong{justify-self:end;font-size:.85rem}.quota i{grid-column:1 / -1;height:6px;background:var(--gold);display:block}.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.list li{display:grid;cursor:pointer;padding:8px 0;border-bottom:1px solid var(--line)}.list span{color:var(--muted);font-size:.85rem}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.dow{font-size:.72rem;color:var(--muted);padding:4px}.day{min-height:92px;background:#fff;border:1px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:4px;cursor:pointer}.day.empty{background:transparent;border-color:transparent;cursor:default}.day b{font-size:.75rem}.pill{font-size:.68rem;text-align:left;padding:3px 6px;border-width:1px 1px 1px 3px;background:#fbf8f1}.pill.published{opacity:.7}.pill.cancelled{text-decoration:line-through;opacity:.5}.modal{position:fixed;inset:0;background:#1c191459;display:grid;place-items:center;padding:16px;z-index:20}.sheet{width:min(560px,100%);max-height:90vh;overflow:auto}.assets{margin:0;padding-left:18px}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}td.overdue,td.expired{color:var(--danger)}td.paid{color:#2f6b3a}.req{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}.req header{display:flex;justify-content:space-between;gap:8px;margin:0}@media(max-width:720px){.cal{font-size:.8rem}.day{min-height:72px}.row{grid-template-columns:1fr}table{display:block;overflow-x:auto}}
