:root{--red:#c0202a;--ink:#1f2937;--soft:#f6f7f9;--line:#e5e7eb;--hint:#6b7280;--ok:#14532d;--okbg:#dcf3e4;--warn:#92400e;--warnbg:#fef3c7;--bad:#991b1b;--badbg:#fee2e2}
*{box-sizing:border-box}body{margin:0;font:16px/1.45 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--soft)}
a{color:var(--red)}
.top{background:#fff;border-bottom:1px solid var(--line);padding:10px 16px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:5}
.top img{height:36px}.top b{font-size:15px}.top small{display:block;color:var(--hint);font-size:12px}.top .sp{flex:1}.top a.btn{font-size:14px}
.wrap{max-width:860px;margin:0 auto;padding:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 14px}
.card h2{margin:0 0 6px;font-size:18px}.card h3{margin:14px 0 6px;font-size:15px}
.hint{color:var(--hint);font-size:13px}
.chip{display:inline-block;padding:4px 12px;border-radius:99px;font-size:13px;font-weight:600;background:#eee}
.st-NOT_STARTED{background:#e5e7eb}.st-PENDING_CLIENT{background:var(--badbg);color:var(--bad)}.st-PENDING_GENESIS{background:#dbeafe;color:#1e3a8a}
.st-PENDING_CLIENT_and_GENESIS{background:var(--warnbg);color:var(--warn)}.st-TO_BE_E-FILED{background:#ede9fe;color:#5b21b6}.st-COMPLETED{background:var(--okbg);color:var(--ok)}
.btn{display:inline-block;background:var(--red);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}
.btn.sec{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.small{padding:6px 12px;font-size:13px}
input[type=text],input[type=email],input[type=password],select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:16px;margin:4px 0 10px;background:#fff}
input[type=file]{margin:6px 0}
label{font-size:14px;font-weight:600}
.err{background:var(--badbg);color:var(--bad);padding:10px 12px;border-radius:10px;margin:0 0 10px}
.ok{background:var(--okbg);color:var(--ok);padding:10px 12px;border-radius:10px;margin:0 0 10px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;padding:0 0 8px;margin:0 0 10px;border-bottom:1px solid var(--line)}
.tabs a{white-space:nowrap;padding:8px 12px;border-radius:99px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.tabs a.on{background:var(--ink);color:#fff}
.item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.item:first-child{border-top:0}.item .lab{flex:1}.item .lab b{display:block}
.item form{margin:6px 0 0}
.doclist a{display:block;padding:8px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.doclist a:first-child{border-top:0}
.msg{padding:10px 12px;border-radius:12px;margin:6px 0;max-width:85%}.msg.in{background:#fff;border:1px solid var(--line);margin-left:auto}.msg.out{background:#fdecec}
.years a{display:inline-block;padding:5px 10px;border-radius:99px;margin:0 4px 6px 0;text-decoration:none;color:var(--ink);border:1px solid var(--line);font-size:13px}.years a.on{background:var(--red);color:#fff;border-color:var(--red)}
.login{max-width:420px;margin:40px auto}
.foot{color:var(--hint);font-size:12px;text-align:center;padding:20px}
@media (max-width:480px){.wrap{padding:10px}.card{padding:12px;border-radius:12px}.top{flex-wrap:wrap;gap:8px 6px;padding:8px 10px}.top b{white-space:nowrap}.top>div{flex:1 1 auto}.top .sp{display:none}.top a.btn{font-size:13px;padding:6px 9px}}

/* 9/26 Igor: app-like navigation — Home on top, page bar at the bottom of the phone, every tab visible */
.tabs a .ti{margin-right:4px}
.pbar{display:none}
.corow{display:flex;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}.corow:first-of-type{border-top:0}
.corow .nm{flex:1 1 180px;min-width:0;font-weight:600;text-decoration:none;color:var(--ink)}.corow .acts{display:flex;gap:6px;flex-wrap:wrap}
.cofind{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;margin:0 0 6px}
.cgrid .cd{cursor:pointer}.cgrid .cd.sel{background:#fff5f5;border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.dayp li{margin:6px 0;list-style:none}.dayp ul{padding:0;margin:0}
@media (max-width:820px){
  .top .topbtns{display:none}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .pbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));justify-content:space-around}
  .pbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--hint);text-decoration:none;font-size:11px;font-weight:600;padding:6px 2px;min-height:48px;justify-content:center;border-radius:10px}
  .pbar a .ic{font-size:21px;line-height:1}.pbar a.on{color:var(--red)}
}
@media (max-width:480px){
  .tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
  .tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px;font-size:11px;text-align:center;white-space:normal;line-height:1.15;border-radius:10px}
  .tabs a .ti{font-size:19px;margin:0}
}

/* 9/26 Igor: collapsible lists, folders, upload sheet from the bottom bar */
.fold{border-top:1px solid var(--line)}.fold:first-of-type{border-top:0}
.fold summary{cursor:pointer;font-weight:700;padding:11px 0;font-size:15px;list-style:none;-webkit-user-select:none;user-select:none}
.fold summary::-webkit-details-marker{display:none}.fold summary:before{content:'▸ ';color:var(--hint)}.fold[open] summary:before{content:'▾ '}
.fold .doclist{margin:0 0 6px 6px}.subh{font-weight:600;font-size:13px;color:var(--hint);margin:8px 0 2px 6px}
.upsheet{position:fixed;left:0;right:0;bottom:0;top:0;z-index:60;background:rgba(0,0,0,.35);display:flex;align-items:flex-end;padding:10px 10px calc(70px + env(safe-area-inset-bottom))}
.upsheet .card{width:100%;max-width:560px;margin:0 auto !important}
@media (min-width:821px){.upsheet{padding-bottom:16px;align-items:center}}
.fold.sub{margin-left:10px;border-top:1px solid var(--line)}.fold.sub summary{font-weight:600;font-size:14px;padding:9px 0}

/* Health Check mobile 9/26: iPhone shows unstyled inputs at 11 px and zooms in on focus — 16 px stops both */
input,select,textarea,button{font-family:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
