.meeting-phase5-shell{margin-top:34px;color:var(--text,#fffdf8)}
.meeting-phase5-banner{margin:0 0 16px;padding:18px 20px;border:1px solid var(--border,#6d5940);border-radius:16px;background:var(--surface,#11100e);display:flex;justify-content:space-between;gap:18px;align-items:center;color:var(--text,#fffdf8)}
.meeting-phase5-banner strong{display:block;color:var(--text,#fffdf8);font-size:16px}
.meeting-phase5-banner span{display:block;margin-top:4px;color:var(--text3,#d3c6b5);font-size:12px;line-height:1.45}
.meeting-phase5-banner button{flex:0 0 auto}

.meeting-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.meeting-metric{min-height:108px;padding:18px;border:1px solid #3b3024;border-radius:14px;background:var(--surface,#11100e);color:var(--text,#fffdf8)}
.meeting-metric span{color:var(--text3,#d3c6b5);font-size:11px;font-weight:750}
.meeting-metric strong{display:block;margin-top:10px;color:var(--text,#fffdf8);font-size:28px;letter-spacing:-.03em}

.meeting-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.meeting-toolbar .meeting-filters{display:grid;grid-template-columns:minmax(220px,1fr) 190px;gap:10px;flex:1}
.meeting-toolbar label,.meeting-form label{display:grid;gap:7px;color:var(--text2,#f0e8dc);font-size:11px;font-weight:800}
.meeting-toolbar input,.meeting-toolbar select,.meeting-form input,.meeting-form select,.meeting-form textarea,.attendance-select{width:100%;border:2px solid var(--border,#6d5940);border-radius:12px;background:var(--field,#080705);color:var(--text,#fffdf8);outline:none;box-shadow:none}
.meeting-toolbar input,.meeting-toolbar select,.meeting-form input,.meeting-form select,.attendance-select{height:46px;padding:0 12px}
.meeting-form textarea{min-height:86px;padding:11px 12px;resize:vertical}
.meeting-toolbar input:focus,.meeting-toolbar select:focus,.meeting-form input:focus,.meeting-form select:focus,.meeting-form textarea:focus,.attendance-select:focus{border-color:var(--accent2,#ffe9c5);box-shadow:0 0 0 3px rgba(255,233,197,.18)}
.meeting-toolbar select option,.meeting-form select option,.attendance-select option{background:#0c0b09;color:#fffdf8}

.meeting-layout{display:grid;grid-template-columns:minmax(310px,.8fr) minmax(0,1.35fr);gap:16px;align-items:start}
.meeting-list{display:grid;gap:10px}
.meeting-card{width:100%;text-align:left;border:1px solid #3b3024;border-radius:18px;padding:16px;background:var(--surface,#11100e);color:var(--text,#fffdf8);box-shadow:none}
.meeting-card:hover,.meeting-card.selected{border-color:var(--border2,#8d7452);background:var(--surface2,#171410);box-shadow:0 0 0 2px rgba(232,207,168,.10)}
.meeting-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.meeting-card strong{color:var(--text,#fffdf8);font-size:14px}
.meeting-card small{display:block;margin-top:4px;color:var(--text3,#d3c6b5);line-height:1.45}
.meeting-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#1a1713;color:var(--text2,#f0e8dc);border:1px solid #45392b;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.meeting-status.checkin_open,.meeting-status.in_session{background:#102117;color:#baf2c5;border-color:#315d3b}
.meeting-status.recessed{background:#2b2110;color:#ffdb91;border-color:#6c5528}
.meeting-status.adjourned,.meeting-status.cancelled{background:#181614;color:#d3c6b5;border-color:#4a4035}

.meeting-detail{min-width:0}
.meeting-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #3b3024}
.meeting-detail-head h2{margin:0;color:var(--text,#fffdf8);font-size:24px}
.meeting-detail-head p{margin:5px 0 0;color:var(--text3,#d3c6b5);font-size:12px}

.meeting-live-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.meeting-live-strip div{padding:13px;border-radius:12px;background:var(--surface2,#171410);border:1px solid #3b3024;color:var(--text,#fffdf8)}
.meeting-live-strip span{display:block;color:var(--text3,#d3c6b5);font-size:10px;font-weight:800}
.meeting-live-strip strong{display:block;margin-top:5px;color:var(--text,#fffdf8);font-size:17px}
.quorum-achieved{color:#baf2c5!important}.quorum-not-achieved{color:#ffb5b5!important}

.meeting-actions{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 20px}
.meeting-actions button,.meeting-primary-button,.meeting-secondary-button,.meeting-danger-button{min-height:42px;padding:0 13px;border-radius:999px;font-weight:850}
.meeting-primary-button{border:2px solid var(--accent,#e8cfa8);background:var(--accent,#e8cfa8);color:#130e08}
.meeting-primary-button:hover{filter:brightness(1.06)}
.meeting-secondary-button{border:2px solid var(--border,#6d5940);background:#1a1612;color:var(--text,#fffdf8)}
.meeting-secondary-button:hover{background:#2a2118;border-color:var(--border2,#8d7452);color:var(--accent2,#ffe9c5)}
.meeting-danger-button{border:2px solid #894747;background:#301415;color:#ffd8d8}

.meeting-self-checkin{margin:14px 0 20px;padding:16px;border:1px solid #4b3c2d;border-radius:13px;background:var(--surface2,#171410);display:flex;justify-content:space-between;gap:14px;align-items:center;color:var(--text,#fffdf8)}
.meeting-self-checkin strong{color:var(--text,#fffdf8);font-size:13px}
.meeting-self-checkin span{display:block;margin-top:3px;color:var(--text3,#d3c6b5);font-size:11px}

.attendance-table-wrap{overflow-x:auto;border:1px solid #3b3024;border-radius:12px;background:#0b0a08}
.attendance-table{width:100%;border-collapse:collapse;min-width:660px;background:#0b0a08;color:var(--text,#fffdf8)}
.attendance-table th{padding:10px 12px;text-align:left;background:#1a1612;color:var(--text2,#f0e8dc);font-size:9px;letter-spacing:.07em;text-transform:uppercase}
.attendance-table td{padding:12px;border-top:1px solid #30271e;background:#0d0c0a;color:var(--text2,#f0e8dc);font-size:11px;vertical-align:middle}
.attendance-table tr:nth-child(even) td{background:#11100e}
.attendance-table td strong{display:block;color:var(--text,#fffdf8);font-size:12px}
.attendance-table td small{color:var(--text3,#d3c6b5)}
.attendance-present{color:#baf2c5;font-weight:900}.attendance-departed{color:#ffdb91;font-weight:900}.attendance-excused,.attendance-absent{color:#ffb5b5;font-weight:900}

.meeting-create-panel{margin-bottom:16px;background:var(--surface,#11100e)!important;border-color:#3b3024!important}
.meeting-form{display:grid;gap:12px;color:var(--text,#fffdf8)}
.meeting-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.meeting-invite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:260px;overflow:auto;padding:10px;border:1px solid #3b3024;border-radius:11px;background:#0b0a08}
.meeting-invite-option{display:flex!important;align-items:center;gap:8px;min-height:40px;padding:7px 9px;border:1px solid #3b3024;border-radius:9px;background:var(--surface,#11100e);color:var(--text,#fffdf8)}
.meeting-invite-option:hover{background:var(--surface2,#171410);border-color:var(--border,#6d5940)}
.meeting-invite-option input{width:15px!important;height:15px!important;margin:0;accent-color:var(--accent,#e8cfa8)}
.meeting-invite-option span{display:grid;gap:2px}
.meeting-invite-option strong{color:var(--text,#fffdf8);font-size:11px}
.meeting-invite-option small{color:var(--text3,#d3c6b5);font-size:9px}
.meeting-form-message{min-height:18px;margin:0;color:var(--warning,#ffdb91);font-size:11px}
.phase5-empty{padding:30px 18px;text-align:center;color:var(--text3,#d3c6b5);border:1px dashed #574937;border-radius:12px;background:#0b0a08}

@media(max-width:1100px){.meeting-layout{grid-template-columns:1fr}.meeting-metrics,.meeting-live-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.meeting-phase5-banner,.meeting-toolbar,.meeting-self-checkin{align-items:stretch;flex-direction:column}.meeting-toolbar .meeting-filters,.meeting-form-row,.meeting-invite-grid,.meeting-metrics,.meeting-live-strip{grid-template-columns:1fr}}
