:root{--ink:#07333e;--cream:#fff1cd;--paper:#fffaf0;--orange:#ff9f1c;--lime:#c9f15a;--aqua:#33c8c2;--red:#b8292f}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Archivo,Arial,sans-serif}.portal-header{min-height:78px;background:var(--ink);display:flex;align-items:center;gap:1rem;padding:.7rem 1.2rem;color:#fff;position:sticky;top:0;z-index:10}.portal-header img{width:150px;height:auto}.portal-header h1{font:2rem/1 "Bebas Neue",sans-serif;margin:0}.portal-user{margin-left:auto;text-align:right;font-size:.85rem}.portal-nav{display:flex;gap:.5rem;flex-wrap:wrap;padding:.8rem 1.2rem;background:#0b5263}.portal-nav button{border:2px solid #fff;border-radius:999px;padding:.55rem .9rem;background:transparent;color:#fff;font-weight:800;cursor:pointer}.portal-nav button[aria-selected="true"]{background:var(--lime);color:var(--ink);border-color:var(--lime)}.portal-main{padding:1.2rem;max-width:1600px;margin:auto}.portal-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:.7rem;margin-bottom:1rem}.portal-filters input,.portal-filters select,.portal-field input,.portal-field select,.portal-field textarea{width:100%;border:2px solid var(--ink);border-radius:9px;padding:.7rem;background:#fff;font:inherit;color:var(--ink)}.inbox-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:1rem;min-height:70vh}.case-list,.case-detail,.portal-panel{background:var(--paper);border:3px solid var(--ink);border-radius:18px;box-shadow:7px 7px 0 var(--orange);overflow:hidden}.case-list{max-height:calc(100vh - 190px);overflow:auto}.case-card{display:grid;grid-template-columns:1fr auto;gap:.25rem .5rem;width:100%;border:0;border-bottom:2px solid #aac4c6;background:#fffaf0;padding:1rem;text-align:left;color:var(--ink);cursor:pointer}.case-card:hover,.case-card.is-active{background:#e7f8d0}.case-card strong{font-size:1.05rem}.case-card small{color:#41636a}.pill{display:inline-block;border-radius:999px;background:#d7e8e9;padding:.22rem .55rem;font-size:.72rem;font-weight:800;text-transform:uppercase}.pill--urgent{background:#ffd1d4;color:#841821}.pill--new{background:var(--lime)}.case-detail{padding:1.2rem;overflow:auto}.empty-state{display:grid;place-items:center;text-align:center;min-height:400px;color:#577278}.detail-head{display:flex;justify-content:space-between;gap:1rem;border-bottom:2px solid #aac4c6;padding-bottom:1rem}.detail-head h2{font:2.3rem/1 "Bebas Neue",sans-serif;margin:0}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1rem 0}.detail-box{border:2px solid #aac4c6;border-radius:10px;padding:.75rem;background:#fff}.detail-box strong{display:block;font-size:.75rem;text-transform:uppercase;color:#4d6b70}.details-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:1rem}.details-data div{padding:.7rem;background:#e9f0ef;border-radius:8px}.details-data strong{display:block;font-size:.72rem;text-transform:uppercase}.portal-section{border-top:2px dashed #90b4b9;padding-top:1rem;margin-top:1rem}.portal-section h3{margin:.2rem 0 .7rem}.conversation{display:grid;gap:.6rem;max-height:330px;overflow:auto;padding:.4rem}.bubble{max-width:78%;padding:.75rem .9rem;border-radius:14px;background:#e0eeee}.bubble--outbound{margin-left:auto;background:#dff6a4}.bubble small{display:block;margin-top:.3rem;color:#527077}.composer{display:grid;grid-template-columns:1fr auto;gap:.6rem;margin-top:.7rem}.composer textarea{min-height:70px}.portal-button{border:2px solid var(--ink);background:var(--lime);color:var(--ink);border-radius:9px;padding:.72rem 1rem;font-weight:800;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}.portal-button--dark{background:var(--ink);color:#fff}.portal-button--danger{background:#ffd1d4}.portal-field{display:grid;gap:.3rem;font-weight:800}.portal-form{display:grid;gap:.8rem}.portal-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.portal-panel{padding:1.2rem}.portal-panel h2{font:2.4rem/1 "Bebas Neue";margin:0 0 1rem}.record-list{display:grid;gap:.7rem;margin-top:1rem}.record{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:2px solid #aac4c6;border-radius:10px;padding:.8rem;background:#fff}.portal-alert{padding:.8rem;border:2px solid var(--red);background:#fff0f0;border-radius:8px;margin-bottom:.8rem}.portal-denied{display:grid;place-items:center;min-height:100vh;background:var(--ink);color:#fff}.portal-denied main{text-align:center;padding:2rem}.portal-denied img{width:min(320px,80vw)}.portal-denied a{color:var(--lime)}[hidden]{display:none!important}
.portal-login-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(circle at 20% 15%,#0b5263 0,transparent 38%),var(--ink)}.portal-login-card{width:min(480px,100%);background:var(--paper);border:3px solid var(--ink);border-radius:22px;box-shadow:10px 10px 0 var(--orange);padding:clamp(1.4rem,5vw,2.5rem)}.portal-login-card img{display:block;width:210px;height:auto;margin:0 auto 1rem}.portal-login-card h1{font:clamp(2.5rem,8vw,4rem)/.95 "Bebas Neue",sans-serif;margin:.2rem 0 .7rem}.portal-login-kicker{text-transform:uppercase;font-weight:800;letter-spacing:.12em;color:#0b6b68;margin:0}.portal-login-help{font-size:.85rem;color:#527077;margin:1.2rem 0 0}.portal-link-button{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer;padding:.65rem}.portal-login-card .portal-button{width:100%;font-size:1rem}.portal-login-card .portal-form{margin-top:1.2rem}
@media(max-width:900px){.inbox-layout{grid-template-columns:1fr}.case-list{max-height:380px}.portal-filters,.portal-form-grid,.detail-grid,.details-data{grid-template-columns:1fr 1fr}.case-detail{min-height:500px}}@media(max-width:600px){.portal-header h1{display:none}.portal-filters,.portal-form-grid,.detail-grid,.details-data{grid-template-columns:1fr}.portal-user{font-size:.72rem}.composer{grid-template-columns:1fr}.bubble{max-width:92%}}
.portal-logout{border:1px solid #fff;background:transparent;color:#fff;border-radius:999px;padding:.5rem .75rem;font:inherit;font-weight:800;cursor:pointer}
.metrics-table{overflow:auto;margin:1rem 0 2rem}.metrics-table table{width:100%;border-collapse:collapse;background:#fff}.metrics-table th,.metrics-table td{padding:.75rem;text-align:left;border-bottom:1px solid #bdd0d4}.metrics-table th{background:#07333e;color:#fff}.portal-nav{flex-wrap:wrap}
