/* Team portal — same look as the admin tools */
:root { --navy:#0D1B2A; --teal:#2A9E9E; --teal-dark:#1E7A7A; --gold:#C9A24A; --off:#F7F8FA; --border:#E2E8EF; --text:#1A2F4A; --mid:#3D5269; --muted:#6B839A; --danger:#B23B3B; --ok:#178C4E; --amber:#B8860B; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'DM Sans',sans-serif; background:var(--off); color:var(--text); min-height:100vh; }
header { background:#fff; border-bottom:1px solid var(--border); padding:16px 28px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
header img { height:32px; }
header .t { font:700 22px 'Cormorant Garamond',serif; color:var(--navy); }
header .who { color:var(--muted); font-size:14px; }
header .right { margin-left:auto; display:flex; gap:16px; align-items:center; }
header a.back, header button.link { font-size:13px; font-weight:600; color:var(--muted); text-decoration:none; background:none; border:0; cursor:pointer; font-family:inherit; }
header a.back:hover, header button.link:hover { color:var(--teal-dark); }
main { max-width:960px; margin:0 auto; padding:26px 18px 80px; }
.card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:22px 24px; margin-bottom:18px; }
h1 { font:700 30px 'Cormorant Garamond',serif; color:var(--navy); line-height:1.15; }
h2 { font:700 22px 'Cormorant Garamond',serif; color:var(--navy); }
h3 { font-size:14.5px; font-weight:700; color:var(--navy); margin:16px 0 6px; }
.sub { font-size:13.5px; color:var(--muted); line-height:1.55; margin-top:4px; }
.row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
label.f { display:block; font-size:13px; font-weight:600; color:var(--mid); margin:14px 0 6px; }
input[type=text], input[type=email], input[type=password], select, textarea { font:inherit; font-size:14px; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text); width:100%; }
textarea { min-height:90px; resize:vertical; line-height:1.5; }
.btn { font:600 14px 'DM Sans',sans-serif; border:0; border-radius:10px; padding:11px 20px; cursor:pointer; background:var(--navy); color:#fff; text-decoration:none; display:inline-block; }
.btn:hover { background:var(--teal-dark); }
.btn.secondary { background:#fff; color:var(--navy); border:1px solid var(--border); }
.btn.secondary:hover { border-color:var(--teal); color:var(--teal-dark); }
.btn.small { padding:7px 13px; font-size:13px; border-radius:8px; }
.btn:disabled { opacity:.6; cursor:default; }
.msg { font-size:13px; color:var(--muted); }
.msg.bad { color:var(--danger); } .msg.good { color:var(--ok); }
.chip { display:inline-block; font-size:11.5px; font-weight:700; border-radius:999px; padding:3px 10px; background:#F1F4FA; color:var(--mid); }
.st { display:inline-block; font-size:11.5px; font-weight:700; border-radius:999px; padding:3px 10px; white-space:nowrap; border:1px solid transparent; }
.st.done { background:#E8F6EE; color:var(--ok); }
.st.in_progress { background:#EAF1FB; color:#27477a; }
.st.ready, .st.decide { background:#FFF4DA; color:#8A6410; }
.st.blocked { background:var(--off); color:var(--muted); border-color:var(--border); }
.st.na { background:#fff; color:var(--muted); border:1px dashed var(--border); }
.line { display:flex; gap:10px; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--off); flex-wrap:wrap; }
.line:last-child { border-bottom:0; }
.line .l { font-size:14px; line-height:1.45; flex:1; min-width:200px; }
details.fold { border:1px solid var(--border); border-radius:10px; padding:0 14px; margin-top:10px; background:#fff; }
details.fold > summary { cursor:pointer; padding:12px 0; font-weight:600; font-size:14px; color:var(--navy); list-style:none; display:flex; justify-content:space-between; gap:10px; }
details.fold > summary::-webkit-details-marker { display:none; }
details.fold > summary::after { content:'+'; color:var(--muted); font-weight:700; }
details.fold[open] > summary::after { content:'–'; }
details.fold > .in { padding:0 0 14px; }
.qa { padding:8px 0; border-bottom:1px solid var(--off); font-size:13.5px; line-height:1.5; }
.qa:last-child { border-bottom:0; }
.qa .q { color:var(--muted); font-size:12.5px; }
.qa .a { white-space:pre-wrap; }
.pre { white-space:pre-wrap; font-size:13px; line-height:1.6; color:var(--mid); max-height:420px; overflow:auto; background:var(--off); border-radius:10px; padding:14px; }
.kv { display:grid; grid-template-columns:150px 1fr; gap:8px 14px; font-size:14px; margin-top:12px; }
.kv .k { color:var(--muted); font-weight:600; font-size:13px; }
input.sw { appearance:none; -webkit-appearance:none; width:46px; height:26px; border-radius:999px; background:#CBD5E1; position:relative; cursor:pointer; flex-shrink:0; transition:background .18s; }
input.sw::before { content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:left .18s; }
input.sw:checked { background:#22A06B; } input.sw:checked::before { left:23px; }
.seg { display:inline-flex; border:1px solid var(--border); border-radius:999px; overflow:hidden; }
.seg button { border:0; background:#fff; padding:7px 14px; font:600 13px 'DM Sans',sans-serif; color:var(--mid); cursor:pointer; }
.seg button.on { background:var(--navy); color:#fff; }
.note { border:1px solid var(--border); border-radius:12px; padding:14px 16px; margin-top:12px; }
.note.req { border-left:4px solid var(--gold); }
.note.done { opacity:.65; }
.note .meta { font-size:12.5px; color:var(--muted); display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.note .body { font-size:14px; line-height:1.55; white-space:pre-wrap; margin-top:6px; }
.note .reply { margin:10px 0 0 14px; padding-left:12px; border-left:2px solid var(--border); }
.private { font-size:12.5px; color:var(--muted); background:var(--off); border-radius:8px; padding:8px 12px; margin-top:10px; }
.center { max-width:420px; margin:8vh auto 0; padding:0 16px; }
.center .card { padding:30px 28px; }
.center img.logo { display:block; height:40px; margin:0 auto 18px; }
.empty { text-align:center; color:var(--muted); font-size:14px; padding:28px 10px; }
@media (max-width:640px) {
  header { padding:14px 16px; } .card { padding:18px 16px; } main { padding:18px 12px 60px; }
  input[type=text], input[type=email], input[type=password], select, textarea { font-size:16px; }
  .kv { grid-template-columns:1fr; gap:2px 0; } .kv .v { margin-bottom:8px; }
  h1 { font-size:26px; }
}

/* small info icons */
.i{display:inline-flex;width:16px;height:16px;border-radius:50%;background:#E8EEF4;color:var(--mid);font:700 11px 'DM Sans',sans-serif;align-items:center;justify-content:center;cursor:help;margin-left:6px;position:relative;vertical-align:middle;font-style:normal}
.i:hover::after,.i:focus::after{content:attr(data-tip);position:absolute;left:50%;top:22px;transform:translateX(-50%);width:250px;background:var(--navy);color:#fff;font:400 12px/1.5 'DM Sans',sans-serif;padding:8px 10px;border-radius:8px;z-index:20;white-space:normal;text-align:left;letter-spacing:0;text-transform:none}
@media (max-width:640px){.i:hover::after,.i:focus::after{left:0;transform:none;width:220px}}
