/* Lipscomb Staff Portal (Parcel CRM) — internal admin theme.
   Distinct from the public site: dark sidebar, data-dense. Fonts: Montserrat + Merriweather. */
*{box-sizing:border-box;}
body{margin:0;font-family:'Montserrat',sans-serif;background:#eef2f2;color:#1f2a2a;}
:root{
  --t:#15403c; --t2:#1d5a52; --acc:#2e7d6e; --gold:#c8a24a;
  --ink:#1f2a2a; --mut:#6b7b7b; --line:#e1e8e8; --bg:#eef2f2;
  --red:#c0392b; --redbg:#fde9e7; --amb:#9a7b1f; --ambbg:#fdf4e3; --grn:#1d7a4d; --grnbg:#e4f3ec;
}
a{color:var(--acc);}
.demo-banner{background:repeating-linear-gradient(45deg,#c8a24a,#c8a24a 12px,#b8923a 12px,#b8923a 24px);
  color:#1f2a2a;font-weight:700;font-size:12.5px;text-align:center;padding:7px 16px;letter-spacing:.03em;}
.demo-banner span{background:rgba(255,255,255,.85);padding:3px 10px;border-radius:4px;}

/* shell */
.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh;}
@media(max-width:760px){
  .app{grid-template-columns:1fr;}
  .side .brand{padding:14px 16px 12px;}
  .side nav{display:flex;gap:6px;overflow-x:auto;padding:10px;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .side nav .grp{display:none;}
  .side a{margin:0;flex:0 0 auto;}
  .wrap{padding:16px;}
  .stats{grid-template-columns:1fr 1fr;}
  .top{padding:12px 16px;}
}
.side{background:var(--t);color:#cfe0dd;padding:0 0 20px;}
.side .brand{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
.side .brand .t{font-family:'Merriweather',serif;color:#fff;font-size:16px;font-weight:700;}
.side .brand .s{font-size:10px;letter-spacing:.14em;color:#8fb3ac;text-transform:uppercase;margin-top:3px;}
.side nav{padding:14px 12px;}
.side a{display:flex;align-items:center;gap:10px;color:#bcd3cf;text-decoration:none;font-size:13.5px;font-weight:600;padding:10px 12px;border-radius:8px;margin-bottom:3px;}
.side a:hover{background:rgba(255,255,255,.06);color:#fff;}
.side a.on{background:var(--acc);color:#fff;}
.side .grp{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6f938c;padding:14px 14px 6px;}
.main{padding:0;}
.top{background:#fff;border-bottom:1px solid var(--line);padding:14px 26px;display:flex;align-items:center;gap:16px;}
.top h1{font-family:'Merriweather',serif;font-size:19px;margin:0;color:var(--ink);}
.top .sp{flex:1;}
.top .who{font-size:12.5px;color:var(--mut);}
.top .who b{color:var(--ink);}
.top .pill{font-size:10px;font-weight:700;background:var(--grnbg);color:var(--grn);padding:3px 9px;border-radius:12px;text-transform:uppercase;letter-spacing:.04em;}
.wrap{padding:26px;max-width:1080px;}

/* search */
.psearch{position:relative;max-width:460px;margin-bottom:22px;}
.psearch input{width:100%;font:inherit;font-size:14px;border:1.5px solid var(--line);border-radius:9px;padding:12px 14px;background:#fff;}
.psearch input:focus{outline:none;border-color:var(--acc);}
.psearch .res{position:absolute;z-index:9;left:0;right:0;background:#fff;border:1px solid var(--line);border-top:none;border-radius:0 0 9px 9px;box-shadow:0 10px 24px rgba(0,0,0,.08);}
.psearch .res a{display:block;padding:10px 14px;text-decoration:none;color:var(--ink);font-size:13px;border-bottom:1px solid #f0f4f4;}
.psearch .res a:hover{background:var(--bg);}
.psearch .res small{color:var(--mut);}

/* stat cards */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr;}}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
.stat .n{font-size:26px;font-weight:800;color:var(--ink);}
.stat .l{font-size:12px;color:var(--mut);margin-top:2px;}
.stat.alert .n{color:var(--red);}
.stat.warn .n{color:var(--amb);}

/* cards / panels */
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:18px;}
.panel h2{font-family:'Montserrat',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:0 0 14px;}
.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f0f4f4;}
.row:last-child{border-bottom:none;}
.row .grow{flex:1;}
.row b{font-size:13.5px;color:var(--ink);}
.row small{font-size:12px;color:var(--mut);display:block;}
.btn{font:inherit;font-weight:700;font-size:13px;border:none;border-radius:8px;padding:9px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;}
.btn.p{background:var(--acc);color:#fff;}.btn.p:hover{background:var(--t2);}
.btn.g{background:#fff;color:var(--acc);border:1.5px solid var(--acc);}
.btn.d{background:#fff;color:var(--red);border:1.5px solid #e3b7b1;}
.btn.sm{padding:6px 12px;font-size:12px;}

/* badges */
.badge{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:12px;white-space:nowrap;}
.b-red{background:var(--redbg);color:var(--red);} .b-amb{background:var(--ambbg);color:var(--amb);}
.b-grn{background:var(--grnbg);color:var(--grn);} .b-gray{background:#eef2f2;color:#5a6a6a;}

/* open-issues alert banner */
.flagbar{background:var(--redbg);border:1px solid #f0c4bd;border-left:5px solid var(--red);border-radius:10px;padding:16px 18px;margin-bottom:20px;}
.flagbar h3{margin:0 0 8px;font-size:14px;color:var(--red);display:flex;align-items:center;gap:8px;}
.flagbar ul{margin:0;padding-left:18px;}
.flagbar li{font-size:13px;color:#7a2b22;margin:4px 0;}
.okbar{background:var(--grnbg);border:1px solid #b7e0c7;border-left:5px solid var(--grn);border-radius:10px;padding:14px 18px;margin-bottom:20px;font-size:13.5px;color:var(--grn);}

/* parcel header */
.phead{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin-bottom:18px;}
.phead .addr{font-family:'Merriweather',serif;font-size:22px;color:var(--ink);margin:0;}
.phead .meta{color:var(--mut);font-size:13px;margin:6px 0 12px;}
.phead .chips{display:flex;gap:8px;flex-wrap:wrap;}

/* timeline */
.tl{list-style:none;margin:0;padding:0;}
.tl li{position:relative;padding:0 0 18px 26px;border-left:2px solid var(--line);margin-left:6px;}
.tl li:last-child{border-left-color:transparent;}
.tl li:before{content:'';position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--acc);}
.tl li.red:before{border-color:var(--red);} .tl li.grn:before{border-color:var(--grn);} .tl li.amb:before{border-color:var(--gold);}
.tl .d{font-size:11.5px;color:var(--mut);}
.tl .h{font-size:13.5px;color:var(--ink);font-weight:600;margin:1px 0;}
.tl .x{font-size:12.5px;color:#4a5959;}

/* sectioned detail */
.sec{margin-top:6px;}
.sec h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--acc);margin:22px 0 10px;border-bottom:1px solid var(--line);padding-bottom:6px;}
.kv{display:grid;grid-template-columns:150px 1fr;gap:4px 14px;font-size:13px;}
.kv b{color:var(--mut);font-weight:600;}

/* intake */
.intake{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px;}
.intake .pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0;}
@media(max-width:680px){.intake .pair{grid-template-columns:1fr;}}
.intake .box{border-radius:9px;padding:14px;font-size:13px;line-height:1.5;}
.intake .raw{background:#16302f;color:#dfeceb;}
.intake .raw .lab{color:#7fb8aa;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;}
.intake .struct{background:var(--bg);}
.intake .struct .lab{color:var(--acc);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px;font-weight:700;}
.intake .acts{display:flex;gap:10px;margin-top:6px;}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#15403c,#0e2826);}
.login{background:#fff;border-radius:14px;padding:38px 34px;width:340px;box-shadow:0 20px 50px rgba(0,0,0,.3);}
.login .t{font-family:'Merriweather',serif;font-size:20px;text-align:center;color:var(--ink);}
.login .s{text-align:center;color:var(--mut);font-size:12px;margin:4px 0 22px;letter-spacing:.1em;text-transform:uppercase;}
.login label{font-size:12px;font-weight:600;color:var(--ink);display:block;margin:14px 0 6px;}
.login input{width:100%;font:inherit;border:1.5px solid var(--line);border-radius:8px;padding:11px 12px;}
.login .btn{width:100%;justify-content:center;margin-top:20px;}
.muted{color:var(--mut);font-size:12.5px;}
