* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    background: #f5f6f8;
    color: #1f2430;
}

header {
    background: #1f2430;
    color: #fff;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header h1 {
    font-size: 18px;
    margin: 0;
}

header .user {
    font-size: 14px;
    opacity: 0.85;
}

main {
    max-width: 880px;
    margin: 0 auto;
    padding: 24px;
}

.card {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.card h2 {
    margin-top: 0;
    font-size: 16px;
}

label {
    display: block;
    font-size: 13px;
    color: #555;
    margin-bottom: 4px;
    margin-top: 12px;
}

input[type="text"],
input[type="password"],
input[type="datetime-local"],
textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #d0d4db;
    border-radius: 6px;
    font-size: 14px;
}

textarea { resize: vertical; min-height: 60px; }

button {
    background: #3a5bfd;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 9px 16px;
    font-size: 14px;
    cursor: pointer;
    margin-top: 14px;
}

button:hover { background: #2c47cf; }
button.secondary { background: #6b7280; }
button.secondary:hover { background: #52585f; }
button.danger { background: #d9432f; }
button.danger:hover { background: #b53523; }
button:disabled { background: #b6bcc7; cursor: not-allowed; }

.error { color: #d9432f; font-size: 13px; margin-top: 10px; }

.meeting-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.meeting-list-item:last-child { border-bottom: none; }

.meeting-list-item a { color: #1f2430; text-decoration: none; font-weight: 600; }
.meeting-list-item a:hover { text-decoration: underline; }

.status-badge {
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #e3e6eb;
    color: #444;
}
.status-badge.recording { background: #ffe1cf; color: #a6440c; }
.status-badge.done { background: #d7f2df; color: #227a3f; }
.status-badge.processing { background: #fff3c4; color: #8a6d00; }

.agenda-item, .participant-item, .action-item, .transcript-segment {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}
.agenda-item:last-child, .participant-item:last-child,
.action-item:last-child, .transcript-segment:last-child { border-bottom: none; }

.record-controls { display: flex; align-items: center; gap: 12px; }
.record-indicator {
    width: 12px; height: 12px; border-radius: 50%;
    background: #ccc;
}
.record-indicator.active { background: #d9432f; animation: pulse 1.2s infinite; }

@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.3; }
    100% { opacity: 1; }
}

.timestamp { color: #888; font-size: 12px; margin-right: 8px; }
