:root{--ink:#19394b;--blue:#006884;--orange:#a84910;--pale:#eef5f7;--line:#c7d6dd;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f7f9fa;line-height:1.55}header{background:white;padding:25px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:24px;font-size:20px;font-weight:700}.logo{font-size:48px;letter-spacing:-3px;color:var(--blue);font-weight:800}.dot{color:var(--orange)}.divider{height:35px;width:1px;background:var(--line)}nav{padding:14px max(5vw,20px);background:var(--ink);display:flex;gap:12px;flex-wrap:wrap}nav[hidden]{display:none}nav button{background:transparent;color:white;border-color:#9cb9c6}nav button[aria-current]{background:white;color:var(--ink)}main{max-width:1200px;margin:0 auto;padding:40px 24px 70px;min-height:70vh}.intro{margin-bottom:30px}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2px;color:var(--orange)}h1{font-size:38px;line-height:1.2;margin:8px 0 14px}h2{font-size:24px;margin-top:0}h3{margin:0 0 12px;font-size:20px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;margin-bottom:24px;box-shadow:0 4px 16px #19394b06}.login{max-width:540px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}label{font-weight:700}input,select,textarea{font:inherit;padding:11px 12px;border:1px solid #728d9a;border-radius:6px;background:white;color:var(--ink);width:100%}input[type=checkbox]{width:auto}textarea{min-height:85px}button,.button{font:inherit;font-weight:700;background:var(--blue);color:white;padding:11px 18px;border:1px solid var(--blue);border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:white;color:var(--blue)}button.danger{background:white;color:#a12720;border-color:#a12720}button:disabled{opacity:.6;cursor:wait}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}a{color:var(--blue)}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:3}.skip:focus{top:10px}#message:not(:empty){padding:18px;background:#e6f3ed;border-left:4px solid #197044;border-radius:4px;margin-bottom:24px}#message.error{background:#fff0ed;border-color:#a12720}.note{background:var(--pale);padding:15px;border-radius:6px;font-size:14px}.muted{color:#466270}.badge{padding:4px 10px;border-radius:20px;background:var(--pale);font-weight:700;font-size:13px}.stats{display:flex;gap:35px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.stats strong{display:block;font-size:23px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}caption{text-align:left;font-weight:700;padding:10px 0}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--pale)}td button{font-size:13px;padding:6px 10px}footer{display:flex;gap:25px;flex-wrap:wrap;padding:25px max(5vw,20px);border-top:1px solid var(--line);background:white;font-size:14px}details{margin:15px 0}summary{cursor:pointer;font-weight:700}small{display:block;color:#466270}#identity{display:flex;align-items:center;gap:15px;flex-wrap:wrap}progress{width:100%}@media(max-width:600px){h1{font-size:30px}.card{padding:20px}main{padding:25px 16px}header{padding:16px}.brand{gap:12px}.logo{font-size:38px}}

.autocomplete{position:relative}.suggestions{position:absolute;top:78px;left:0;right:0;z-index:5;background:white;border:1px solid #728d9a;border-radius:6px;margin:0;padding:0;list-style:none;max-height:260px;overflow-y:auto;box-shadow:0 8px 20px #19394b25}.suggestions[hidden]{display:none}.suggestions [role=option]{padding:12px;border-bottom:1px solid var(--line);cursor:pointer;overflow-wrap:anywhere}.suggestions [role=option]:hover,.suggestions [aria-selected=true]{background:var(--blue);color:white}.picker-tools{grid-column:1/-1;margin-bottom:18px}.picker-tools small{margin-top:8px}

/* Workspace tabs follow the primary / secondary navigation used in GRH. */
:root { --blue: #00736f; --ink: #172f3d; --pale: #eef4f4; --line: #d4dfe2; }
[hidden] { display: none !important; }
header { padding-top: 16px; padding-bottom: 16px; }
#navigation { display: block; background: white; padding-top: 0; padding-bottom: 0; border-bottom: 1px solid var(--line); }
.tabs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; max-width: 1152px; margin: 0 auto; padding: 12px 0; }
.tabs button { background: #e8f0f1; color: var(--ink); border: 1px solid var(--line); padding: 14px 20px; }
.tabs button[aria-selected="true"], .subtabs button[aria-selected="true"] { background: var(--blue); color: white; border-color: var(--blue); }
.subtabs { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 22px; border-bottom: 1px solid var(--line); margin-bottom: 26px; }
.subtabs button { background: white; color: var(--ink); border-color: #8fa5ad; min-width: 180px; }
main { padding-top: 28px; }
.authenticated .intro { display: none; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading h1 { font-size: 30px; margin: 6px 0; }
.page-heading p { margin: 6px 0; }
.page-heading > button { flex-shrink: 0; }
.card { border-radius: 10px; box-shadow: 0 3px 12px #19394b04; }
.directory-toolbar { justify-content: space-between; font-size: 14px; padding: 18px 0; border-top: 1px solid var(--line); }
.empty-state { padding: 40px 28px; text-align: center; }
.form-dialog { width: min(780px, calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 0; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 20px 80px #172f3d40; overflow-y: auto; }
.form-dialog::backdrop { background: #102b3e99; }
.dialog-header { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 22px 26px; border-bottom: 1px solid var(--line); }
.dialog-header h2 { font-size: 22px; margin: 0; }
.dialog-body { padding: 22px 26px 28px; }
.dialog-body section > .secondary:last-child { margin-top: 16px; }
.dialog-message:not(:empty) { margin: 18px 26px 0; padding: 14px; border-left: 4px solid var(--blue); background: var(--pale); }
.dialog-message.error { border-color: #a12720; background: #fff0ed; }
.form-dialog .suggestions { max-height: 190px; }
body:has(.form-dialog[open]) { overflow: hidden; }
.access-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.access-column { min-width: 0; background: white; border: 1px solid var(--line); border-radius: 10px; padding: 22px; }
.access-column > h2 { font-size: 20px; margin-bottom: 18px; }
.access-list { list-style: none; padding: 0; margin: 0; }
.access-list li + li { border-top: 1px solid var(--line); }
.access-row { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 10px; background: white; color: var(--ink); border: 0; text-align: left; font-weight: 400; }
.access-row:hover { background: var(--pale); }
.access-person { min-width: 0; display: grid; gap: 3px; overflow-wrap: anywhere; }
.access-person strong { font-size: 16px; }
.access-count { flex-shrink: 0; display: grid; text-align: right; font-size: 12px; }
.access-count > strong { font-size: 19px; color: var(--blue); }
.access-state { color: #52626d; margin-top: 5px; }
.access-empty { color: #52626d; margin: 0; padding: 16px 0; }
.access-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.access-details dt { font-size: 13px; color: #466270; }
.access-details dd { margin: 3px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.access-detail-person { margin-top: 0; overflow-wrap: anywhere; }
.access-other-actions { margin: 24px 0; }
.access-timeline { padding-left: 22px; }
.access-timeline li { padding: 0 0 16px 4px; }
.access-timeline p { margin: 0 0 4px; }
.package-files { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 22px 0; }
.package-files > section { padding: 18px; background: var(--pale); border-radius: 8px; min-width: 0; }
.package-files h4 { font-size: 18px; margin: 0 0 14px; }
.package-files li { overflow-wrap: anywhere; }
@media (max-width: 750px) { .package-files { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 850px) { .access-columns { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 450px) { .access-column { padding: 18px 12px; } .access-details { grid-template-columns: minmax(0, 1fr); } }
#content:focus { outline-offset: 6px; }
@media (max-width: 650px) {
  #navigation { padding-left: 12px; padding-right: 12px; }
  .tabs { gap: 5px; }
  .tabs button { padding: 12px 4px; font-size: 13px; overflow-wrap: anywhere; }
  .subtabs { gap: 8px; padding-bottom: 18px; }
  .subtabs button { flex: 1; min-width: 130px; padding: 10px; font-size: 14px; }
  .page-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .page-heading h1 { font-size: 27px; }
  .page-heading > button { width: 100%; }
  .form-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
  .dialog-header, .dialog-body { padding: 18px; }
  .dialog-header h2 { font-size: 20px; }
  .form-dialog .grid { grid-template-columns: minmax(0, 1fr); }
  .dialog-header button { padding: 8px 10px; }
  .directory-toolbar { align-items: flex-start; flex-direction: column; }
}
