
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: #e5ddd5;
    margin: 0;
    padding: 0;
}

header {
    background-color: #075e54;
    color: white;
    padding: 10px 20px;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header h1 { font-size: 1.2em; margin: 0; }

.controls {
    display: flex;
    gap: 10px;
}

.controls input[type="date"] {
    background: #128c7e;
    border: 1px solid #075e54;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.8em;
    cursor: pointer;
}
.controls input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    cursor: pointer;
}
.controls button {
    background: #128c7e;
    border: 1px solid #075e54;
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8em;
}

.controls button:hover { background: #075e54; }

#chat-container {
    display: flex;
    flex-direction: column;
    padding: 20px;
    max-width: 800px;
    margin: 0 auto;
}

.message {
    max-width: 85%;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 8px;
    position: relative;
    word-wrap: break-word;
    box-shadow: 0 1px 1px rgba(0,0,0,0.1);
}

.message.sent { align-self: flex-end; background-color: #dcf8c6; }
.message.received { align-self: flex-start; background-color: #ffffff; }

.message.is-important {
    border: 2px solid #ffcc00;
    background-image: linear-gradient(45deg, transparent, rgba(255, 204, 0, 0.1));
}

.author { font-weight: bold; font-size: 0.8em; margin-bottom: 4px; color: #128c7e; }
.content { font-size: 0.95em; line-height: 1.4; white-space: pre-wrap; }

.msg-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    border-top: 1px solid rgba(0,0,0,0.05);
    padding-top: 4px;
}

.time { font-size: 0.7em; color: #999; }

.actions { display: flex; gap: 5px; }
.actions button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px 5px;
    border-radius: 3px;
    font-size: 1em;
}

.btn-star.active { color: #ffcc00; text-shadow: 0 0 2px rgba(0,0,0,0.3); }
.btn-note { font-size: 0.8em !important; opacity: 0.6; }
.btn-note:hover { opacity: 1; }

.note-display {
    margin-top: 8px;
    font-size: 0.85em;
    background: #fff9c4;
    padding: 5px 8px;
    border-radius: 4px;
    border-left: 3px solid #fbc02d;
    color: #5d4037;
}

.note-editor { margin-top: 8px; display: flex; flex-direction: column; gap: 5px; }
.note-editor textarea {
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 0.9em;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.hidden { display: none !important; }

.media { margin-top: 8px; }
.media img { max-width: 100%; border-radius: 4px; display: block; }
.media video { max-width: 100%; border-radius: 4px; }

.play-btn {
    background-color: #128c7e;
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.9em;
    display: flex;
    align-items: center;
    gap: 8px;
}

.transcription {
    font-style: italic;
    background: rgba(0,0,0,0.05);
    padding: 8px;
    border-left: 3px solid #128c7e;
    margin-bottom: 8px;
}

.no-print { display: flex; }
.print-only { display: none; }

@media print {
    .no-print { display: none !important; }
    .print-only { display: block !important; font-size: 0.8em; color: #666; font-style: italic; }
    body { background-color: white; }
    header { background-color: white; color: black; border-bottom: 1px solid #ccc; }
    .message { box-shadow: none; border: 1px solid #ddd; max-width: 100%; width: 100%; }
    .message.is-important { border: 2px solid #000; }
    .note-display { border: 1px solid #000; background: #eee; }
}
