:root{--plum: #6a1f7c;--plum-pressed: #4e1660;--lilac: #d4badc;--lilac-mist: #f7f2f8;--white: #ffffff;--ink: #121212;--stone: #5e5e5e;--line: #e3e3e3;--fog: #f4f4f4;--warn-bg: #fdecec;--warn-text: #8f1d1d;--error: #9b1c1c;--error-bg: #fde8e8;--error-border: #c62828;--page: #f6f3f7;--column: 32rem;--admin-subnav-offset: 3rem;color:var(--ink);background:var(--page);line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Raleway,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}.app-frame,.welcome-page{width:min(100%,var(--column));margin:0 auto;min-height:100vh}.welcome-page{padding:1rem 1rem 2rem}.card{background:var(--white);border:1px solid var(--line);border-radius:.75rem;overflow:hidden}.card-header{position:relative;background:var(--plum);color:var(--white);padding:1.25rem 1rem 1rem;text-align:center}.welcome-help{position:absolute;top:.75rem;right:.75rem;border:0;background:transparent;color:var(--white);cursor:pointer;padding:.25rem;line-height:0}.card-header h1{font-size:1.35rem;font-weight:700}.header h1{font-size:1.25rem;font-weight:700}.header-subtitle{font-size:.9rem;font-weight:400;line-height:1.3}.logo{height:5rem;width:auto;max-width:100%;margin:0 0 .75rem;object-fit:contain;background:var(--white);padding:.75rem;border-radius:.5rem}.card-body,.panel,.stack{display:flex;flex-direction:column;gap:.85rem}.card-body{padding:1rem}.prose h2{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;color:var(--plum);font-size:1.05rem;font-weight:700}.prose h2 svg{width:1.25rem;height:1.25rem;flex:none;fill:none;stroke:currentColor;stroke-width:2}.prose p{color:var(--stone);font-size:.95rem;line-height:1.5}.prose p+p{margin-top:.75rem}.warning{background:var(--warn-bg);color:var(--warn-text);border-radius:.5rem;padding:1rem}.warning h2{display:block;margin:0 0 .35rem;color:var(--warn-text);font-size:.95rem}.warning p{color:var(--warn-text);font-size:.85rem}.notice{background:var(--fog);border:1px solid var(--line);border-radius:.5rem;padding:.75rem;color:var(--stone)}label,.field{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.85rem}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--fog);border-radius:.5rem;padding:.625rem .75rem;font-size:.95rem;font-weight:400;color:var(--ink)}input[type=checkbox]{width:auto;accent-color:var(--plum)}textarea{min-height:5rem;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--plum);background:var(--white)}input:read-only:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden]):not([type=password]),textarea:read-only{border:0;border-left:3px solid var(--lilac);border-radius:0 .5rem .5rem 0;background:var(--lilac-mist);color:var(--ink);font-weight:500;cursor:default}input:read-only:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden]):not([type=password]):focus,textarea:read-only:focus{outline:none;background:var(--lilac-mist)}.readonly-field{display:flex;flex-direction:column;gap:.2rem;padding:.625rem .75rem;border-left:3px solid var(--lilac);background:var(--lilac-mist);border-radius:0 .5rem .5rem 0}.readonly-label{font-weight:600;font-size:.85rem;color:var(--stone)}.readonly-value{font-size:1rem;font-weight:500;color:var(--ink);line-height:1.35}.readonly-hint{font-size:.75rem;font-weight:400;color:var(--stone)}.readonly-field input:read-only,.readonly-field textarea:read-only{width:100%;border:0;border-radius:0;padding:0;background:transparent;color:var(--ink);font-size:1rem;font-weight:500;cursor:default}.readonly-field input:read-only:focus,.readonly-field textarea:read-only:focus{outline:none;background:transparent}.has-error{color:var(--error)}.invalid{border:2px solid var(--error-border);background:var(--error-bg);box-shadow:inset .28rem 0 0 var(--error-border)}input.invalid:focus,select.invalid:focus,textarea.invalid:focus{outline:2px solid var(--error-border);outline-offset:1px;background:var(--error-bg)}.field-error,.helper,.meta{color:var(--stone);font-size:.82rem;font-weight:400}.field-error{color:var(--error);font-weight:600}p.field-error{background:var(--error-bg);border:1px solid var(--error-border);border-radius:.5rem;padding:.625rem .75rem;font-size:.85rem}.password-row{display:flex;gap:.4rem}.password-row input{flex:1}.eye,.ghost,.primary,.danger,.text-button{border:0;border-radius:.5rem;cursor:pointer;text-decoration:none;text-align:center}.primary,.danger{background:var(--plum);color:var(--white);padding:.75rem 1rem;font-weight:700}.primary:hover,.danger:hover,.eye:hover,.ghost:hover,.text-button:hover{background:var(--plum-pressed)}.primary.inline,.ghost.inline{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:auto;flex:none;padding:.6rem 1rem}.eye,.ghost,.text-button{background:var(--white);color:var(--plum);border:1px solid var(--plum);padding:.65rem .8rem;font-weight:700}.ghost:hover,.text-button:hover,.eye:hover{color:var(--white)}.danger{background:var(--white);color:var(--plum-pressed);border:1px solid var(--plum-pressed)}.text-btn{border:0;background:transparent;color:var(--plum);font-weight:600;cursor:pointer;padding:.4rem .35rem}.text-btn:hover{text-decoration:underline}.auth-forgot{align-self:flex-start;padding-left:0}.auth-switch,.auth-prompt{color:var(--stone);font-size:.95rem}.auth-switch button,.auth-prompt button{display:inline;border:0;border-radius:0;background:transparent;color:var(--plum);font:inherit;font-weight:700;padding:0;cursor:pointer}.auth-switch button:hover,.auth-prompt button:hover{text-decoration:underline}.back-btn{align-self:flex-start}.row{display:flex;gap:.5rem;flex-wrap:wrap}.row>*{flex:1}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.25rem}.muted{color:var(--stone);font-size:.85rem;font-weight:400}.shell{position:relative;height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--page)}.header{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem;background:var(--plum);color:var(--white)}.header-title{display:flex;flex-direction:column;gap:.375rem;min-width:0}.header .header-subtitle{color:var(--lilac)}.header-actions{display:flex;align-items:center;gap:.5rem}.header-link{background:transparent;color:var(--white);border:0;font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:underline;white-space:nowrap}.header-icon{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--white);cursor:pointer;padding:.25rem;line-height:0;text-decoration:none}.shell main{flex:1;min-height:0;overflow:auto;padding-bottom:4.5rem}.footer{position:absolute;left:0;right:0;bottom:4rem;z-index:20;background:var(--lilac);padding:.5rem .75rem}.footer a{display:block;text-align:center;background:var(--white);color:var(--plum);font-weight:700;text-decoration:none;border:1px solid var(--plum);border-radius:.5rem;padding:.5rem .75rem}.footer a:hover{background:var(--plum);color:var(--white)}.tabs{flex:none;display:flex;height:4rem;background:var(--white);border-top:1px solid var(--line)}.tabs button{flex:1;border:0;background:transparent;color:var(--stone);cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tabs button[aria-pressed=true]{color:var(--plum);font-weight:700}.sticky-tools{position:sticky;top:0;z-index:10;background:var(--white);border-bottom:1px solid var(--line);padding:.75rem 1rem}.sticky-tools-compact{padding:.4rem .75rem}.title-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.sticky-tools-compact .title-row{margin-bottom:0;gap:.4rem}.title-row h2{font-size:1.25rem}.primary.inline.compact,.ghost.inline.compact{padding:.35rem .65rem;font-size:.875rem;gap:.25rem}.primary.inline.compact svg,.ghost.inline.compact svg{width:.95rem;height:.95rem}.filter-summary-row{display:flex;align-items:center;gap:.4rem;margin-top:.35rem;min-width:0;padding:.3rem .45rem;border-radius:.4rem;background:var(--lilac-mist);border:1px solid var(--lilac);color:var(--plum)}.filter-summary-row>svg{flex:none;width:.95rem;height:.95rem;color:var(--plum)}.filter-summary-row .text-btn{flex:none;padding:.15rem .25rem;font-size:.8rem}.filter-summary{margin:0;flex:1;min-width:0;display:flex;align-items:baseline;gap:.35rem;font-size:.8rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-summary-label{flex:none;font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.filter-summary-text{font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis}.search-wrap,.select-wrap{position:relative}.search-wrap,.select-wrap{margin-bottom:.5rem}.search-wrap svg,.select-wrap svg{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--stone);pointer-events:none}.search-wrap input,.select-wrap select{padding-left:2.25rem}.filter-check{display:flex;margin-top:.5rem;font-size:.9rem;font-weight:500;color:var(--ink)}.listing{padding:.5rem .75rem 1rem;display:flex;flex-direction:column;gap:.375rem}.listing>p.muted{margin:.5rem 0}.resource-group{display:grid;gap:.75rem}.resource-group h3{margin:.5rem 0 0;font-size:.95rem;color:var(--stone)}.resource a.text-btn{display:inline-flex;align-items:center;gap:.35rem}.resource a.resource-url{max-width:100%;word-break:break-all;text-align:left}.resource a.resource-url span{min-width:0}.offer,.resource{background:var(--white);border:1px solid var(--line);border-radius:.5rem;padding:.5rem .625rem;display:flex;flex-direction:column;gap:.125rem}.awaiting-review{background:var(--lilac-mist);border-color:var(--lilac);box-shadow:inset .28rem 0 0 var(--plum)}.cat-list>.awaiting-review,.people>.awaiting-review{background:var(--lilac-mist);border-bottom-color:var(--lilac)}.awaiting-review-label{display:inline-block;margin:.125rem 0;padding:.15rem .45rem;border-radius:.25rem;background:var(--lilac);color:var(--plum);font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.offer h2,.resource h2{font-size:1rem;line-height:1.2;font-weight:600}.offer p,.resource p{line-height:1.25}.chip-row,.card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.chip{display:inline-block;background:var(--lilac-mist);color:var(--plum);font-size:.7rem;font-weight:600;border-radius:999px;padding:.125rem .5rem}.card-controls{display:flex;gap:.25rem;flex:none}.icon-btn{border:0;background:var(--fog);color:var(--stone);border-radius:.375rem;padding:.25rem;line-height:0;cursor:pointer}.icon-btn:hover{color:var(--plum)}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.contact-row .muted{min-width:0;overflow-wrap:anywhere}.contact-btn{flex:none;border:1px solid var(--plum);background:var(--lilac-mist);color:var(--plum);border-radius:999px;padding:.125rem .625rem;font-size:.75rem;font-weight:700;line-height:1.4;cursor:pointer}.contact-btn:hover{background:var(--plum);color:var(--white)}.inactive-flag{margin-left:.375rem;font-size:.75rem;font-weight:700;color:var(--stone)}.empty{text-align:center;color:var(--stone);padding:2.5rem 0}.subpages{position:sticky;top:0;z-index:15;display:flex;gap:.375rem;background:var(--white);border-bottom:1px solid var(--line);padding:.5rem .75rem;min-height:var(--admin-subnav-offset);box-sizing:border-box}.sticky-below-subnav{top:var(--admin-subnav-offset)}.sticky-below-subnav .muted{margin:0 0 .5rem}.sticky-below-subnav .add-row{margin-bottom:0}.subpages button{flex:1;border:1px solid var(--line);background:var(--fog);color:var(--ink);border-radius:999px;padding:.5rem .375rem;font-size:.75rem;font-weight:600;line-height:1.2;cursor:pointer}.subpages button[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:var(--white)}.section-title{font-size:1rem;margin:.5rem 0}.add-row{display:flex;gap:.5rem;margin-bottom:1rem}.add-row input{flex:1;background:var(--white);padding:.75rem}.cat-list,.people{background:var(--white);border:1px solid var(--line);border-radius:.75rem;overflow:hidden}.cat-list>div,.cat-list>form,.people li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .75rem;border-bottom:1px solid var(--line)}.cat-list>:last-child,.people li:last-child{border-bottom:0}.cat-list>form input{flex:1}.people{list-style:none;margin:0;padding:0}.person-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .5rem}.admin-check{flex:none;white-space:nowrap;font-size:.8rem}.settings-form{gap:.625rem}.offer.settings-form{padding:1rem}.listing:has(.settings-form){padding:1rem}.preview{height:4rem;width:auto;max-width:100%;align-self:flex-start;object-fit:contain;background:var(--white);padding:.75rem;border:1px solid var(--line);border-radius:.5rem}.about-page{padding:2rem 1rem;text-align:center}.version,.copyright{margin:0;color:var(--stone);text-align:center;font-size:.8rem}.copyright{margin-top:.5rem}.modal-backdrop{position:fixed;inset:0;background:#1212127f;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{display:flex;flex-direction:column;width:min(28rem,100%);max-height:calc(100dvh - 2rem);background:var(--white);border-radius:.75rem;overflow:hidden}.modal-header{flex:none;display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:var(--plum);color:var(--white);padding:.75rem 1rem}.modal-header h2{font-size:1.35rem;font-weight:700}.modal-close{border:0;background:transparent;color:var(--white);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem}.modal-body{display:flex;flex-direction:column;gap:.75rem;padding:1rem;overflow:auto}.help-manual{gap:1.25rem}.help-toolbar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.75rem}.help-pdf{border:0;background:transparent;color:var(--stone);padding:0;font-size:.8rem;font-weight:600;cursor:pointer}.help-pdf:hover:not(:disabled){color:var(--plum);text-decoration:underline;text-underline-offset:.18em}.help-pdf:disabled{cursor:default;opacity:.7}.help-pdf-error{margin:0;color:var(--error);font-size:.85rem;line-height:1.4}.help-section h3{margin:0 0 .75rem;color:var(--plum);font-size:1.1rem;font-weight:700}.help-section h4{margin:.875rem 0 .375rem;color:var(--ink);font-size:.95rem;font-weight:700}.help-shot{width:100%;height:auto;border:1px solid var(--line);border-radius:.5rem}.help-section ul{margin:0;padding-left:1.15rem;color:var(--stone);font-size:.9rem;line-height:1.45}.help-section li+li{margin-top:.4rem}.help-section-admin{border-top:1px solid var(--line);padding-top:1rem}.help-note{margin:0 0 .5rem;color:var(--stone);font-size:.85rem;line-height:1.4}.expect-body h3{margin:0 0 .375rem;font-size:.95rem;color:var(--plum)}.expect-body p{margin:0 0 .5rem;line-height:1.45}.check-line{flex-direction:row;align-items:center;gap:.5rem}.status{padding:2rem 1rem;text-align:center}@media(min-width:700px){.app-frame{border-left:1px solid var(--line);border-right:1px solid var(--line)}.offer.settings-form{padding:.5rem .625rem}.listing:has(.settings-form){padding:.5rem .75rem 1rem}}
