*{box-sizing:border-box}
body{margin:0;font-family:"Malgun Gothic",system-ui,sans-serif;background:#f3f5f8;color:#1f2937}
.top{background:#2563eb;color:#fff;padding:14px 16px}
.top h1{margin:0;font-size:1.3rem}
.note{margin:4px 0 0;font-size:.8rem;opacity:.85}
main{max-width:720px;margin:0 auto;padding:12px}
.card{background:#fff;border-radius:10px;padding:14px;margin-bottom:14px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
h2{margin:0 0 10px;font-size:1.05rem}
label{display:block;font-size:.85rem;color:#4b5563;margin-bottom:8px;flex:1;min-width:130px}
textarea,input,select{width:100%;margin-top:4px;padding:10px;font:inherit;border:1px solid #cbd5e1;border-radius:6px;background:#fff}
.row{display:flex;gap:10px;flex-wrap:wrap}
.btns{display:flex;gap:8px}
button{padding:10px 16px;font:inherit;border:1px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer}
button.primary{background:#2563eb;color:#fff;border-color:#2563eb}
button.danger{color:#b91c1c;border-color:#fca5a5}
.dateHead{margin:14px 0 6px;font-weight:bold;color:#2563eb;border-bottom:2px solid #dbeafe;padding-bottom:3px}
.item{border:1px solid #e5e7eb;border-radius:8px;padding:10px;margin-bottom:8px}
.item p{margin:0 0 8px;white-space:pre-wrap;word-break:break-word}
.meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tag{font-size:.75rem;padding:2px 8px;border-radius:10px;background:#e5e7eb}
.s-예정{background:#fef3c7}.s-진행{background:#dbeafe}.s-완료{background:#d1fae5}
.meta .spacer{flex:1}
.meta button{padding:5px 10px;font-size:.8rem}
.empty{color:#9ca3af;text-align:center;padding:20px}
@media(max-width:480px){.btns button{flex:1}}

/* 백업/복원 */
.hint{margin:0 0 10px;font-size:.8rem;color:#6b7280}
#exportBtn,#importBtn{flex:1;min-height:48px}
.importPanel{margin-top:10px;padding:10px;border:1px solid #fcd34d;background:#fffbeb;border-radius:8px}
.importPanel p{margin:0 0 8px;font-size:.9rem}
.warn{color:#92400e;font-weight:bold}
label.radio{display:flex;gap:8px;align-items:flex-start;color:#1f2937;min-width:0}
label.radio input{width:auto;margin:3px 0 0}

/* 음성입력 */
.voice{margin:0 0 12px}
.mic{width:100%;min-height:56px;font-size:18px;font-weight:600;border:2px solid #2563eb;color:#2563eb;background:#fff;border-radius:10px}
.mic.listening{background:#dc2626;border-color:#dc2626;color:#fff;animation:pulse 1.2s infinite}
@keyframes pulse{50%{opacity:.7}}
.micMsg{margin:6px 0 0;font-size:14px;color:#475569;min-height:1.2em}
.micMsg.err{color:#b91c1c}
