.participant-manager{margin-bottom:20px}.participant-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:16px;align-items:end}.participant-form label{display:grid;gap:7px;font-size:12px;font-weight:600}.participant-form small{color:var(--muted);font-weight:400}.participant-form input,.participant-form select,.directory-filter select{font:14px 'Space Grotesk';border:1px solid var(--line);background:var(--paper);padding:13px;color:var(--ink);width:100%}.participant-form select{min-height:116px}.participant-table-panel{padding:28px}.participant-table-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.participant-table-head h2{margin:0;font-size:24px}.directory-count,.count-chip{font:11px 'DM Mono',monospace;color:var(--muted)}.directory-filter{max-width:310px;margin-bottom:20px}.directory-filter label{display:grid;gap:7px;font:11px 'DM Mono',monospace;color:var(--muted);text-transform:uppercase}.directory-table{width:100%;border-collapse:collapse}.directory-table th{font:11px 'DM Mono',monospace;color:var(--muted);text-align:left;text-transform:uppercase}.directory-table td,.directory-table th{padding:15px 12px;border-bottom:1px solid var(--line)}.directory-table td:first-child{color:var(--muted);width:45px}.directory-table td:nth-child(3){color:var(--muted)}.empty-cell{text-align:center;color:var(--muted);padding:35px!important}@media(max-width:800px){.participant-form{grid-template-columns:1fr}.participant-form .button{width:100%}.participant-table-head{align-items:start;gap:15px;flex-direction:column}.directory-filter{max-width:none}.directory-table{min-width:600px}}
.participant-form-intro{color:var(--muted);font-size:14px;line-height:1.5;margin:-10px 0 24px;max-width:560px}.participant-name-field input{font-size:16px;padding:15px}.participant-form-actions{display:grid;gap:9px;align-content:end}.participant-form-actions small{font-size:11px;line-height:1.4}.participant-form-actions .button{width:100%;white-space:nowrap}
.institution-table-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 12px}.institution-table-head h3{margin:0;font-size:16px}.institution-table-head span{font:11px 'DM Mono',monospace;color:#b4c0b9}.institution-table{width:100%;border-collapse:collapse}.institution-table th{font:10px 'DM Mono',monospace;color:#b4c0b9;text-align:left;text-transform:uppercase}.institution-table td,.institution-table th{padding:13px 10px;border-bottom:1px solid #53625d}.institution-table td{font-size:13px}.institution-table td:first-child{min-width:170px}.table-number{display:inline-grid;min-width:28px;padding:4px 7px;text-align:center;font:11px 'DM Mono',monospace}.present-number{background:#d8f36a;color:#172321}.absent-number{background:#ffe0d8;color:#9c3e2c}.table-progress{display:inline-block;vertical-align:middle;width:70px;height:5px;margin-right:7px;background:#53625d}.table-progress span{display:block;height:100%;background:#d8f36a}.institution-table td small{font:10px 'DM Mono',monospace;color:#d8f36a}.table-filter-link{color:#d8f36a;text-decoration:none;font:11px 'DM Mono',monospace;border-bottom:1px solid #d8f36a}.empty-cell{color:#b4c0b9;text-align:center;padding:25px!important}@media(max-width:700px){.institution-table{min-width:700px}.institution-table-head{align-items:flex-start;gap:8px;flex-direction:column}}
.status-table{width:100%;border-collapse:collapse}.status-table th{font:10px 'DM Mono',monospace;color:var(--muted);text-align:left;text-transform:uppercase}.status-table td,.status-table th{padding:14px 10px;border-bottom:1px solid var(--line)}.status-table td:first-child{width:45px;color:var(--muted)}.status-table td:nth-child(3){color:var(--muted)}@media(max-width:650px){.status-table{min-width:620px}}
.activity-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.6fr);gap:20px}.activity-create-panel form{display:grid;gap:18px}.activity-create-panel label{display:grid;gap:7px;font-size:12px;font-weight:600}.activity-create-panel input,.activity-create-panel textarea{font:14px 'Space Grotesk';border:1px solid var(--line);background:var(--paper);padding:13px;color:var(--ink);width:100%;resize:vertical}.activity-intro{color:var(--muted);font-size:14px;line-height:1.5;margin:-10px 0 22px}.activity-table{width:100%;border-collapse:collapse}.activity-table th{font:10px 'DM Mono',monospace;color:var(--muted);text-align:left;text-transform:uppercase}.activity-table td,.activity-table th{padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.activity-table td:first-child{min-width:190px}.activity-table td:first-child small{display:block;color:var(--muted);font-size:11px;margin-top:5px;max-width:230px}.activity-table td:nth-child(2),.activity-table td:nth-child(3){color:var(--muted);font-size:12px}.activity-table .status{border:0}.activity-table-wrap{overflow:auto}@media(max-width:900px){.activity-layout{grid-template-columns:1fr}.activity-table{min-width:720px}}
.import-divider{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:var(--muted);font:10px 'DM Mono',monospace;text-transform:uppercase}.import-divider:before,.import-divider:after{content:'';height:1px;background:var(--line);flex:1}.import-form{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:end}.import-form label{display:grid;gap:7px;font-size:12px;font-weight:600}.import-form input[type=file]{font:13px 'Space Grotesk';padding:11px;border:1px dashed var(--line);background:var(--paper);width:100%}.import-form small{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.4}.button-secondary{background:#53625d}.button-secondary span{color:#d8f36a}@media(max-width:700px){.import-form{grid-template-columns:1fr}.import-form .button{width:100%}}
.stats-panel{margin:20px 0;background:#172321;color:#f4f1e9;padding:28px}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:38px}.filter-bar label{display:grid;gap:7px;color:#d8f36a;font:11px 'DM Mono',monospace;text-transform:uppercase}.filter-bar select{min-width:210px;padding:11px;border:1px solid #53625d;background:#263532;color:#f4f1e9;font:13px 'Space Grotesk',sans-serif}.stats-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.stats-heading h2{margin:0;font-size:30px}.stats-heading h2 em{font-style:normal;color:#d8f36a}.stats-heading strong{font-size:52px;color:#d8f36a;letter-spacing:-.05em}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.stat-card{background:#263532;padding:20px;display:grid;gap:5px;border-left:3px solid #87958e}.stat-card.present{border-color:#d8f36a}.stat-card.absent{border-color:#ff7657}.stat-card span,.stat-card small{font-size:11px;color:#b4c0b9}.stat-card b{font-size:36px}.progress-track{height:8px;background:#53625d}.progress-track span{display:block;height:100%;background:#d8f36a;transition:width .4s ease}.institution-stats{margin-top:34px}.institution-stats h3{font-size:15px;margin:0 0 12px}.institution-stat{display:grid;grid-template-columns:1fr 55px;gap:8px;align-items:center;color:#f4f1e9;text-decoration:none;border-top:1px solid #53625d;padding:13px 0}.institution-stat span{display:grid;gap:4px}.institution-stat small{font-size:11px;color:#b4c0b9}.institution-stat strong{color:#d8f36a;text-align:right}.institution-stat i{grid-column:1 / -1;height:4px;background:#53625d}.institution-stat i em{display:block;height:100%;background:#d8f36a}.status-panel{margin-top:20px}.status-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}.status-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #d7d8ce}.person-initial{width:30px;height:30px;display:grid;place-items:center;background:#d8f36a;font-weight:700}.status-row div{display:grid;gap:3px}.status-row small{color:#70807b;font-size:11px}.attendance-badge{font:10px 'DM Mono',monospace;padding:6px 8px}.attendance-badge.checked{background:#d8f36a}.attendance-badge.waiting{background:#ffe0d8;color:#9c3e2c}@media(max-width:600px){.stat-cards{grid-template-columns:1fr}.stats-heading{align-items:start;flex-direction:column}.status-list{grid-template-columns:1fr}.filter-bar select{width:100%}.filter-bar label{width:100%}}
