:root{
  --black:#07040b;--black2:#100817;--black3:#180d22;
  --purple:#7b2cbf;--purple2:#9d4edd;--purple3:#c77dff;--purple4:#e0aaff;
  --ink:#f8f4ff;--muted:#cbb8db;--muted2:#9d8bad;
  --card:rgba(24,13,34,.9);--line:rgba(199,125,255,.23);
  --amber:#ffc857;--amberSoft:rgba(255,200,87,.13);
  --red:#ff6b7d;--redSoft:rgba(255,107,125,.14);
  --green:#5de0a6;--greenSoft:rgba(93,224,166,.14);
  --slate:#d7c6e3;--slateSoft:rgba(215,198,227,.12);
  --shadow:0 18px 55px rgba(0,0,0,.34)
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--black)}
body{margin:0;min-height:100vh;color:var(--ink);background:
radial-gradient(circle at 14% 4%,rgba(123,44,191,.30),transparent 34%),
radial-gradient(circle at 88% 0%,rgba(78,22,116,.23),transparent 30%),
radial-gradient(circle at 52% 100%,rgba(70,24,100,.20),transparent 40%),
linear-gradient(145deg,#050307 0%,#0b0610 44%,#12081a 100%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background-image:
linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 88%)}
a{color:var(--purple3)}button,input,textarea,select{font:inherit}.wrap{width:min(1240px,calc(100% - 32px));margin:auto}
.site-head,.admin-head{background:linear-gradient(110deg,rgba(7,4,11,.97),rgba(38,11,54,.97) 62%,rgba(78,22,116,.95));color:#fff;box-shadow:0 3px 18px rgba(0,0,0,.34);border-bottom:1px solid rgba(224,170,255,.20);position:relative;overflow:hidden}
.site-head:after,.admin-head:after{content:"";position:absolute;right:-100px;bottom:-100px;width:270px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(199,125,255,.22),transparent 70%);pointer-events:none}
.head-inner{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,rgba(157,78,221,.75),rgba(37,11,52,.96));border:1px solid rgba(224,170,255,.39);box-shadow:0 8px 24px rgba(89,29,131,.36),inset 0 1px rgba(255,255,255,.18)}
.brand small{display:block;color:var(--purple4);text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:900}.brand strong{display:block;font-size:17px;margin-top:2px;color:#fff}
.site-head nav,.admin-head nav{display:flex;gap:7px;flex-wrap:wrap}.site-head nav a,.admin-head nav a{color:#eadcf4;text-decoration:none;font-size:13px;font-weight:850;padding:9px 10px;border-radius:10px;transition:.18s ease}
.site-head nav a:hover,.site-head nav a.active,.admin-head nav a:hover{background:linear-gradient(135deg,rgba(157,78,221,.28),rgba(199,125,255,.14));color:#fff;box-shadow:inset 0 0 0 1px rgba(224,170,255,.15)}
.hero{padding:46px 0 22px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.kicker{color:var(--purple3);text-transform:uppercase;font-size:11px;letter-spacing:.19em;font-weight:900;margin:0}
.hero h1,.page-title{letter-spacing:-.052em;font-size:44px;line-height:1.04;margin:8px 0 11px;background:linear-gradient(105deg,#fff 0%,#f4ddff 58%,#c77dff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p,.lede{color:var(--muted);font-size:15px;line-height:1.75;max-width:820px}.notice{border:1px solid rgba(255,200,87,.34);background:linear-gradient(140deg,rgba(255,200,87,.14),rgba(65,38,17,.20));border-radius:16px;padding:14px 15px;color:#ffe3a2;font-size:13px;line-height:1.62;box-shadow:0 10px 25px rgba(0,0,0,.16)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:14px 0 20px}.metric,.card{background:linear-gradient(145deg,rgba(32,16,45,.93),rgba(17,9,25,.91));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;backdrop-filter:blur(14px)}
.metric{padding:17px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;right:-25px;bottom:-32px;width:95px;height:95px;border-radius:50%;background:radial-gradient(circle,rgba(157,78,221,.20),transparent 70%)}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:850}.metric strong{display:block;font-size:35px;letter-spacing:-.06em;margin-top:12px;color:#fff}
.section{margin:18px 0 28px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.section-head h2{font-size:22px;letter-spacing:-.03em;margin:0;color:#fff}.section-head p{margin:5px 0 0;color:var(--muted2);font-size:13px}
.table{overflow:auto}.table table{width:100%;border-collapse:collapse;min-width:820px}.table th{background:rgba(255,255,255,.035);color:var(--purple4);font-size:10px;text-transform:uppercase;letter-spacing:.09em;text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}.table td{padding:14px;border-bottom:1px solid rgba(199,125,255,.10);vertical-align:top;font-size:13px;color:#eadff2}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:rgba(157,78,221,.07)}.table a.title{font-weight:900;color:#fff;text-decoration:none}.table a.title:hover{color:var(--purple3)}
.sub{font-size:12px;color:var(--muted2);line-height:1.55;margin-top:5px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;border:1px solid;font-size:11px;font-weight:900;line-height:1.2}.badge-red{background:var(--redSoft);color:#ffacb8;border-color:rgba(255,107,125,.35)}.badge-amber{background:var(--amberSoft);color:#ffe3a2;border-color:rgba(255,200,87,.36)}.badge-yellow{background:rgba(255,225,118,.13);color:#ffeaa0;border-color:rgba(255,225,118,.36)}.badge-orange{background:rgba(255,153,51,.15);color:#ffc078;border-color:rgba(255,153,51,.42)}.badge-green{background:var(--greenSoft);color:#a2f1cb;border-color:rgba(93,224,166,.33)}.badge-slate{background:var(--slateSoft);color:#e1d3eb;border-color:rgba(215,198,227,.22)}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.input,textarea,select{width:100%;border:1px solid var(--line);background:rgba(8,4,12,.62);color:#f8f4ff;border-radius:11px;padding:10px 11px;outline:none}.input::placeholder,textarea::placeholder{color:#8f7e9e}.input:focus,textarea:focus,select:focus{border-color:var(--purple3);box-shadow:0 0 0 3px rgba(157,78,221,.18)}textarea{min-height:110px;resize:vertical}
.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;border:0;border-radius:11px;padding:10px 13px;font-size:13px;font-weight:900;cursor:pointer;transition:.18s ease}.button-dark{background:linear-gradient(135deg,#6f20aa,#9d4edd 58%,#b96ce8);color:#fff;border:1px solid rgba(224,170,255,.26);box-shadow:0 8px 20px rgba(100,30,150,.26)}.button-dark:hover{filter:brightness(1.12);transform:translateY(-1px)}.button-soft{background:rgba(255,255,255,.045);border:1px solid var(--line);color:#eadff2}.button-soft:hover{background:rgba(157,78,221,.13);border-color:rgba(224,170,255,.38)}.button-red{background:rgba(255,107,125,.08);color:#ffacb8;border:1px solid rgba(255,107,125,.34)}
.filterbar{display:grid;grid-template-columns:1fr 240px auto;gap:8px;padding:13px}.law-grid,.detail-grid,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pad{padding:17px}.pad h2,.pad h3{margin:0 0 9px;color:#fff}.pad p,.pad li{font-size:14px;line-height:1.72;color:var(--muted)}
.detail-head{padding:30px 0 9px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary{padding:14px}.mini{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--purple4);font-weight:900}.summary b{display:block;margin:8px 0;font-size:15px;color:#fff}.dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dl dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--purple4);font-weight:900}.dl dd{margin:5px 0 0;font-size:13px;font-weight:800;color:#eadff2}
.timeline{display:grid;gap:9px}.event{padding:12px;border-radius:12px;border:1px solid rgba(199,125,255,.14);background:rgba(255,255,255,.035)}.event-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.event b{font-size:13px;color:#fff}.event span{font-size:12px;color:var(--muted2)}.event p{font-size:13px;color:var(--muted);line-height:1.55;margin:7px 0 0}
.admin-main{padding-top:25px;padding-bottom:35px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field.full{grid-column:1/-1}.field label,.field-label{display:block;font-size:10px;color:var(--purple4);text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin:0 0 6px}.checks{display:flex;align-items:center;gap:8px;font-size:13px;color:#eadff2}.checks input{width:auto}.action-stack{display:grid;gap:10px}.hr{height:1px;background:rgba(199,125,255,.15);margin:15px 0}.login-card{max-width:470px;margin:55px auto;padding:22px}.error{color:#ffc1ca;background:rgba(255,107,125,.12);border:1px solid rgba(255,107,125,.32);padding:12px;border-radius:11px;font-size:13px;margin-bottom:12px}.success{color:#a2f1cb;background:rgba(93,224,166,.11);border:1px solid rgba(93,224,166,.32);padding:12px;border-radius:11px;font-size:13px;margin-bottom:12px}.private{background:linear-gradient(145deg,rgba(58,30,78,.55),rgba(25,13,35,.82));border-color:rgba(199,125,255,.24)}
footer{border-top:1px solid rgba(199,125,255,.16);margin-top:35px;background:rgba(7,4,11,.74)}footer .wrap{padding:18px 0;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}footer p,footer a{font-size:12px;color:var(--muted2);margin:0}.empty{padding:28px;color:var(--muted2);text-align:center;font-size:14px}code{color:var(--purple3)}option{background:#140b1d;color:#f8f4ff}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr}.law-grid,.detail-grid,.admin-grid{grid-template-columns:1fr}.filterbar{grid-template-columns:1fr}}
@media(max-width:560px){.metrics{grid-template-columns:1fr}.hero h1,.page-title{font-size:34px}.form-grid,.dl{grid-template-columns:1fr}.field.full{grid-column:auto}.head-inner{padding:11px 0}.site-head nav a,.admin-head nav a{font-size:12px;padding:7px 8px}}

/* Images + pasted-email import feature patch */
.email-import{border-color:rgba(199,125,255,.34);background:linear-gradient(145deg,rgba(50,20,72,.88),rgba(17,9,25,.92))}
.email-import h2{margin-top:0;color:#fff}
details{border:1px solid rgba(199,125,255,.18);border-radius:12px;padding:10px;background:rgba(255,255,255,.025)}
summary{cursor:pointer;color:var(--purple3);font-weight:900;font-size:13px}
.attachment-upload{margin-top:14px}
.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:13px;margin-top:14px}
.attachment-card{overflow:hidden;border:1px solid rgba(199,125,255,.19);background:rgba(255,255,255,.035);border-radius:14px}
.attachment-thumb{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#09050d;transition:.18s ease}
.attachment-thumb:hover{transform:scale(1.025);filter:brightness(1.08)}
.attachment-body{padding:11px}.attachment-body p{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 8px;word-break:break-word}.attachment-body p:last-child{margin-bottom:0}
.public-gallery .attachment-card{background:linear-gradient(145deg,rgba(40,18,57,.76),rgba(13,7,19,.88))}


/* Completed request celebration */
.badge-gold{
  background:linear-gradient(135deg,rgba(255,193,7,.22),rgba(255,215,90,.34),rgba(183,122,0,.24));
  color:#fff3a6;
  border-color:rgba(255,215,90,.72);
  box-shadow:0 0 18px rgba(255,193,7,.24),inset 0 1px rgba(255,255,255,.18);
  text-shadow:0 0 10px rgba(255,222,112,.42);
}
.status-gold{
  display:inline-flex;
  align-items:center;
  gap:.18rem;
  color:#ffe681;
  font-weight:950;
  letter-spacing:.01em;
  text-shadow:0 0 12px rgba(255,203,58,.35);
}

/* Seven-day no-response escalation */
.status-ignored{display:inline-flex;align-items:center;color:#ff9aaa;font-weight:950;letter-spacing:.015em;text-shadow:0 0 12px rgba(255,79,105,.34)}


/* Public agency scoreboard */
.agency-link{color:#e6ceff;text-decoration:none;font-weight:850}
.agency-link:hover{color:var(--purple3);text-decoration:underline}
.agency-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.agency-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.agency-summary-grid h2{margin:9px 0 6px;color:#fff;font-size:25px;letter-spacing:-.04em}
.agency-summary-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.ignored-metric{border-color:rgba(255,107,125,.34);box-shadow:0 15px 42px rgba(255,71,96,.10)}
.gold-metric{border-color:rgba(255,215,90,.34);box-shadow:0 15px 42px rgba(255,193,7,.10)}
.scoreboard-table table{min-width:1060px}
.scoreboard-table td:nth-child(2),.scoreboard-table td:nth-child(3),.scoreboard-table td:nth-child(4),.scoreboard-table td:nth-child(5){font-weight:900;text-align:center}
.scoreboard-table th:nth-child(2),.scoreboard-table th:nth-child(3),.scoreboard-table th:nth-child(4),.scoreboard-table th:nth-child(5){text-align:center}
@media(max-width:900px){.agency-metrics{grid-template-columns:repeat(2,1fr)}.agency-summary-grid{grid-template-columns:1fr}}
@media(max-width:560px){.agency-metrics{grid-template-columns:1fr}}


/* PDF and document attachments */
.document-preview{
  display:flex;min-height:154px;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  padding:18px;text-align:center;text-decoration:none;
  background:linear-gradient(145deg,rgba(64,25,89,.72),rgba(12,7,18,.92));
  color:#f5eaff;border-bottom:1px solid rgba(199,125,255,.18);
  transition:.18s ease
}
.document-preview:hover{background:linear-gradient(145deg,rgba(91,35,126,.82),rgba(22,10,31,.96));color:#fff}
.document-icon{
  display:grid;place-items:center;width:68px;height:68px;border-radius:16px;
  background:linear-gradient(145deg,rgba(157,78,221,.48),rgba(48,14,70,.92));
  border:1px solid rgba(224,170,255,.34);box-shadow:0 11px 28px rgba(0,0,0,.24);
  color:#fff;font-weight:950;letter-spacing:.04em;font-size:15px
}
.document-preview span:last-child{font-size:12px;font-weight:900;color:#e8d6f5}

/* Features 6, 4, 2, 1 */
.enhanced-filterbar{grid-template-columns:minmax(190px,1fr) 210px 190px 190px auto auto}.share-row{display:flex;gap:10px;align-items:center;margin:10px 0 18px;color:var(--muted);font-size:12px}.share-input{max-width:640px;font-size:12px}.tool-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.audit-table table{min-width:960px}.audit-table td{font-size:12px}.request-tools{border-color:rgba(255,200,87,.28)}@media(max-width:1050px){.enhanced-filterbar{grid-template-columns:1fr 1fr}.share-row{display:block}.share-input{margin-top:6px;max-width:none}}@media(max-width:620px){.enhanced-filterbar{grid-template-columns:1fr}}


/* Public request detail readability patch */
.public-detail-hero{overflow:hidden}
.public-detail-hero .page-title{max-width:1180px;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.public-detail-hero .lede{max-width:980px;font-size:16px}
.request-text-card{max-width:1040px}
.request-text-head{margin-bottom:12px}
.request-text-content{max-width:920px;color:#f1e6fa;font-size:17px;line-height:1.82;white-space:pre-wrap;overflow-wrap:break-word}
.request-text-notes{max-width:920px;margin-top:18px;padding:14px 15px;border-radius:14px;border:1px solid rgba(255,200,87,.30);background:rgba(255,200,87,.10);color:#ffe7ad;line-height:1.65;overflow-wrap:break-word}
@media(max-width:700px){.public-detail-hero .page-title{font-size:31px;line-height:1.08}.request-text-content{font-size:15.5px;line-height:1.72}}
