.net-center { padding-bottom: 32px; }
.net-workflow-nav { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap: 10px; margin: 20px 0; }
.net-workflow-nav a { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--text); text-decoration: none; font-weight: 650; }
.net-workflow-nav img { flex: 0 0 24px; }
.net-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.net-metrics > div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-top: 3px solid #547f98; border-radius: 13px; background: var(--soft); }
.net-metrics strong { display: block; font-size: 1.7rem; color: var(--text); }
.net-metrics span { display: block; overflow-wrap: anywhere; color: var(--muted); }
.net-state { display: inline-flex; align-items: center; gap: 8px; padding: 5px 10px; border-radius: 999px; background: var(--soft); border: 1px solid var(--line); font-weight: 700; }
.net-state::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #547f98; }
.net-person[data-state="speaking"] { background: #edf7f0; border-color: #2e7a53; }
.net-person[data-state="speaking"] .net-state::before { background: #2e7a53; }
.net-person[data-state="done"] .net-state::before { background: #547f98; }
.net-person[data-state="left"] { border-style: dashed; }
.net-person[data-state="left"] .net-state::before { background: #986534; }
#net-progress { display: block; width: 100%; height: 12px; margin: 12px 0 18px; accent-color: #2e7a53; }
.net-presets .button { flex: 1 1 4rem; }
#net-finish-next { width: 100%; }
@media (max-width: 600px) { .net-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.net-center .card { margin-bottom: 20px; }
.net-center input, .net-center select, .net-center textarea,
#net-certificate input, #net-certificate select { width: 100%; max-width: 100%; min-height: 48px; font-size: max(16px,1rem); }
.net-center input[type="checkbox"] { width: 24px; min-height: 24px; flex: 0 0 24px; }
.net-center [hidden] { display: none !important; }
.net-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin-block: 14px; }
.net-actions .button { min-height: 48px; white-space: normal; text-align: center; }
.net-actions > label:not(.button) { display: grid; gap: 6px; }
.net-consent { display: flex; align-items: center; gap: 12px; min-height: 48px; font-weight: 700; }
.net-file { position: relative; overflow: hidden; }
.net-file input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.net-file:focus-within { outline: 3px solid #568c6e; outline-offset: 3px; }
.net-workspace { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); align-items: start; gap: 20px; }
.net-workspace > *, .net-center .field-grid > * { min-width: 0; }
.net-timer-panel { position: sticky; top: 16px; }
.net-timer { display: block; font: 700 clamp(28px, 3.5vw, 48px)/1.4 ui-monospace, Consolas, monospace; color: var(--primary, #296447); }
.net-timer.over { color: #b94a20; }
.net-participants { display: grid; gap: 14px; margin-top: 16px; }
.net-person, .net-archive-item { padding: 16px; border: 1px solid var(--border, #d6e0d9); border-radius: 14px; overflow-wrap: anywhere; }
.net-person[data-state="speaking"] { border: 2px solid #568c6e; }
.net-person h3 { margin: 0 0 8px; }
.net-person p { margin: 8px 0; white-space: pre-wrap; }
.net-person .net-actions { margin-bottom: 0; }
.net-person .button { font-size: max(16px,1rem); }
.net-error { color: #b33f23; font-weight: 700; }
.net-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.net-center #net-status, .net-center #net-storage-status { overflow-wrap: anywhere; }
#net-certificate { width: min(1200px, 96vw); max-width: 96vw; max-height: 94vh; padding: 20px; border: 1px solid #84998b; border-radius: 16px; color: var(--text, #1d3125); background: var(--surface, #fff); overflow: auto; }
#net-certificate::backdrop { background: #102719c9; }
#net-cert-preview { overflow: auto; margin-top: 20px; background: #fff; }
#net-cert-preview svg { display: block; width: 100%; height: auto; }
[data-theme="dark"] #net-certificate { background: #17241d; color: #eef4ed; }
[data-theme="dark"] .net-error { color: #ffb79b; }
[data-theme="dark"] .net-person[data-state="speaking"] { background: #193b2b; border-color: #9dcfad; }
[data-theme="dark"] .net-state::before { background: #a4c6de; }
[data-theme="dark"] .net-person[data-state="speaking"] .net-state::before { background: #a4dfbb; }
[data-theme="dark"] .net-timer { color: #a5d6b7; }
[data-theme="dark"] .net-timer.over { color: #ffc184; }
@media (max-width: 800px) {
  .net-workspace, .net-guide { grid-template-columns: minmax(0, 1fr); }
  .net-timer-panel { position: static; grid-row: 1; }
  .net-workspace .field-grid, #net-certificate .field-grid { grid-template-columns: minmax(0, 1fr); }
  .net-center .page-intro { grid-template-columns: minmax(0, 1fr); }
  .net-center .page-intro > img { display: none; }
  .net-actions > .button { flex: 1 1 140px; }
}
@media print {
  body.net-certificate-print > :not(#net-certificate) { display: none !important; }
  body.net-certificate-print #net-certificate { display: block; position: static; width: 100%; max-width: none; max-height: none; padding: 0; margin: 0; border: 0; overflow: visible; background: white; }
  body.net-certificate-print .net-certificate-controls { display: none; }
  body.net-certificate-print #net-cert-preview { margin: 0; overflow: visible; }
  body.net-certificate-print #net-cert-preview svg { width: 100%; max-height: 185mm; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
