:root{--background:#f5f7fb;--background-soft:#eef2f8;--surface:#fffffff0;--surface-strong:#fff;--surface-muted:#f8fafc;--surface-border:#94a3b838;--foreground:#0f172a;--foreground-muted:#475569;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#2563eb1a;--danger:#dc2626;--danger-soft:#dc262614;--warning:#c2410c;--warning-soft:#f973161a;--shadow:0 8px 20px #0f172a0a;--shadow-soft:0 4px 14px #0f172a0a;--radius-lg:18px;--radius-md:14px;--radius-sm:10px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--foreground);background:linear-gradient(#f8fbff 0%,#f3f6fb 100%);margin:0;font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.page-shell,.panel-shell,.auth-shell{width:min(1120px,100% - 2rem);margin:0 auto}.page-shell{padding:1.5rem 0 4rem}.panel-shell{align-content:start;gap:1rem;min-height:100vh;padding:1.5rem 0 3rem;display:grid}.auth-shell{align-content:center;min-height:100vh;padding:2rem 0;display:grid}.hero{gap:1.25rem;padding:1rem 0 2rem;display:grid}.hero__content,.hero__panel,.content-card,.feature-card,.step-card,.audience-card,.cta-card,.auth-card,.panel-hero{border:1px solid var(--surface-border);box-shadow:var(--shadow);background:#fff}.hero__content,.content-card,.feature-card,.step-card,.audience-card,.cta-card,.auth-card,.panel-hero{border-radius:var(--radius-md);padding:1.4rem}.hero__panel{box-shadow:none;border-radius:var(--radius-lg);background:0 0;border:0;gap:1rem;padding:0;display:grid}.hero__content h1,.section-heading h2,.cta-card h2,.auth-card h1,.panel-hero h1{margin:0;line-height:1.08}.hero__content h1{max-width:12ch;font-size:clamp(2.4rem,7vw,4.4rem)}.hero__lead,.content-card p,.feature-card p,.step-card p,.audience-card p,.cta-card p,.auth-card p,.panel-hero p,.form-help{color:var(--foreground-muted);line-height:1.7}.hero__lead{max-width:60ch;margin:1.1rem 0 0;font-size:1.04rem}.hero__slogan{color:var(--accent-strong);margin:.85rem 0 0;font-size:1rem}.eyebrow,.hero-card__label,.audience-card__eyebrow,.step-card__index{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;display:inline-flex}.eyebrow,.hero-card__label,.audience-card__eyebrow{color:var(--accent-strong)}.hero__actions,.auth-links{flex-direction:column;gap:.75rem;margin-top:1.35rem;display:flex}.hero__actions>*,.auth-links>*{width:100%}.button{min-height:2.9rem;box-shadow:none;border:1px solid #94a3b82e;border-radius:10px;justify-content:center;align-items:center;padding:.82rem 1.15rem;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s,color .2s;display:inline-flex}.button:hover{box-shadow:var(--shadow-soft)}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #2563eb4d}.button--primary{background:var(--accent);color:#fff}.button--primary:hover{background:var(--accent-strong)}.button--primary:disabled,.button--secondary:disabled,.button--danger:disabled{cursor:not-allowed;opacity:.65}.button--secondary{color:var(--foreground);background:#fff;border-color:#94a3b859}.button--secondary:hover{color:var(--accent-strong);border-color:#2563eb47}.button--danger{background:var(--danger-soft);color:var(--danger);border-color:#dc262638}.button--danger:hover{background:#dc26261f;border-color:#dc26264d}.highlight-list,.security-list,.simple-list{color:var(--foreground-muted);margin:1.15rem 0 0;padding-left:1.2rem;line-height:1.7}.highlight-list li::marker{color:var(--accent)}.security-list li::marker{color:var(--accent)}.simple-list li::marker{color:var(--accent)}.hero-card{border-radius:var(--radius-md);box-shadow:var(--shadow);background:#fff;border:1px solid #94a3b82e;padding:1.2rem}.hero-card strong,.feature-card h3,.audience-card h3,.content-card h2,.auth-card h2{margin-top:.55rem;font-size:1.06rem;display:block}.hero-card p{margin-bottom:0}.hero-card--accent{background:#f8fbff}.section{padding:1.5rem 0}.section-heading{margin-bottom:1rem}.section-heading h2{max-width:16ch;margin-top:.65rem;font-size:clamp(1.8rem,5vw,2.6rem)}.content-card--split{gap:1rem;display:grid}.content-card--tight{margin-top:1rem}.grid{gap:1rem;display:grid}.grid--features,.grid--steps,.grid--audience{grid-template-columns:1fr}.feature-card,.step-card,.audience-card{background:var(--surface-strong)}.feature-card h3,.audience-card h3{margin:.45rem 0 0}.step-card__index{color:var(--accent)}.section--cta{padding-bottom:0}.cta-card{text-align:center;background:#fff}.cta-card .button{margin-top:1rem}.footer{text-align:center;color:#64748b;padding:2rem 0 1rem;font-size:.95rem}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:680px;margin-top:.75rem}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #94a3b82e;padding:.9rem .85rem}.data-table th{color:#334155;text-transform:uppercase;letter-spacing:.06em;background:#f8fafc;font-size:.82rem}.data-table td{color:var(--foreground-muted)}.data-table tbody tr:hover{background:#fbfdff}.demand-table td{vertical-align:middle}.demand-title-cell{flex-direction:column;align-items:flex-start;gap:.65rem;display:flex}.demand-title-cell strong{color:var(--foreground);font-size:.98rem}.button--small{min-height:2.3rem;padding:.45rem .8rem;font-size:.9rem}.status-pill,.deadline-pill{border-radius:999px;align-items:center;min-height:2rem;padding:.3rem .7rem;font-size:.9rem;font-weight:600;display:inline-flex}.status-pill{color:var(--accent-strong);background:var(--accent-soft)}.deadline-pill{color:#475569;background:#f1f5f9}.deadline-pill--upcoming{color:#9a3412;background:#ffedd5}.deadline-pill--warning{color:#b91c1c;background:#fee2e2}.deadline-pill--overdue{color:#991b1b;background:#fecaca}.auth-card,.panel-hero{margin-bottom:1rem}.auth-form{gap:.85rem;margin:1.25rem 0;display:grid}.auth-form label{color:var(--foreground);gap:.45rem;font-weight:600;display:grid}.auth-form input,.auth-form select,.auth-form textarea,.form-grid textarea,.form-grid select,.form-grid input{font:inherit;border-radius:var(--radius-sm);min-height:3rem;color:var(--foreground);background:#fff;border:1px solid #94a3b847;padding:.8rem 1rem}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline-offset:1px;border-color:#2563eb6b;outline:2px solid #2563eb2e}.auth-inline-links{margin-top:.25rem}.auth-inline-links a,.auth-links a{color:var(--accent-strong);font-weight:600}.auth-links a:not(.button){min-height:2.9rem;box-shadow:var(--shadow-soft);background:#fff;border:1px solid #94a3b838;border-radius:12px;justify-content:center;align-items:center;padding:.82rem 1.15rem;display:inline-flex}.form-error{color:#b91c1c;margin:-.1rem 0 0;font-size:.95rem}.form-success{color:#15803d;margin:-.1rem 0 0;font-size:.95rem}.admin-nav{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.admin-nav a{color:#334155;background:#fff;border:1px solid #94a3b83d;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:2.75rem;padding:.7rem 1rem;font-weight:600;display:inline-flex}.admin-form{gap:1rem;display:grid}.form-grid{grid-template-columns:1fr;gap:.9rem;display:grid}.form-grid label{color:var(--foreground);gap:.45rem;font-weight:600;display:grid}.form-grid textarea{resize:vertical;min-height:7rem}.form-grid__wide{grid-column:1/-1}.checkbox-line{color:var(--foreground);align-items:center;gap:.6rem;font-weight:600;display:inline-flex}.message-list,.document-list{gap:.9rem;margin-top:1.25rem;display:grid}.message-card,.document-card{border-radius:var(--radius-md);box-shadow:none;background:#fff;border:1px solid #94a3b833;padding:1rem}.document-card__actions{flex-direction:column;gap:.75rem;margin-top:.9rem;display:flex}.document-card__actions>*{width:100%}.message-card__meta,.document-card__meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:.55rem .8rem;margin-bottom:.65rem;font-size:.92rem;display:flex}.message-card__meta strong,.document-card__meta strong{color:var(--foreground)}.message-card p,.empty-state{color:var(--foreground-muted);margin:0;line-height:1.7}.message-visibility{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:.15rem .55rem}.checkbox-groups{gap:1rem;display:grid}.checkbox-groups fieldset{border-radius:var(--radius-sm);background:#fff;border:1px solid #94a3b838;margin:0;padding:1rem}.checkbox-groups legend{color:var(--accent-strong);padding:0 .35rem;font-weight:700}.checkbox-grid{grid-template-columns:1fr;gap:.75rem;margin-top:.5rem;display:grid}.checkbox-card{border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--foreground-muted);border:1px solid #94a3b81f;align-items:flex-start;gap:.65rem;padding:.85rem .95rem;display:flex}.table-cell-stack{gap:.6rem;display:grid}.edit-card{border-radius:var(--radius-sm);background:#fff;border:1px solid #94a3b82e}.edit-card summary{cursor:pointer;color:var(--accent-strong);padding:.7rem .9rem;font-weight:600;list-style:none}.edit-card summary::-webkit-details-marker{display:none}.edit-card[open] summary{border-bottom:1px solid #94a3b829}.edit-card .admin-form{padding:.9rem}.inline-form{gap:.45rem;display:grid}.inline-form .button{width:100%}@media (max-width:767px){.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table{min-width:0;margin-top:1rem}.data-table thead{display:none}.data-table tr{border-radius:var(--radius-md);background:#fff;border:1px solid #94a3b82e;margin-bottom:.85rem;padding:.9rem 1rem}.data-table td{border-bottom:0;gap:.35rem;padding:.55rem 0;display:grid}.data-table td:before{content:attr(data-label);color:#475569;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:700}.data-table td[colspan]{text-align:left;padding:.9rem 0}.data-table td[colspan]:before{display:none}.demand-title-cell{gap:.5rem}}@media (min-width:768px){.page-shell{width:min(1200px,100% - 3rem);padding-top:2rem}.hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);align-items:stretch}.hero__content{border-radius:var(--radius-lg);padding:2.4rem}.hero__actions,.auth-links{flex-flow:wrap;align-items:center}.hero__actions>*,.auth-links>*{width:auto}.grid--features,.grid--steps,.grid--audience{grid-template-columns:repeat(2,minmax(0,1fr))}.content-card--split{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start}.form-grid,.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-nav a{width:auto}.document-card__actions{flex-flow:wrap;align-items:start}.document-card__actions>*{width:auto}}@media (min-width:1024px){.grid--features,.grid--steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
