*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Yu Gothic,sans-serif;background:linear-gradient(135deg,#fff0f6,#f3e8ff 50%,#fce4ec);color:#444;min-height:100vh}.dashboard{max-width:1200px;margin:0 auto;padding:16px}.dashboard-header{text-align:center;padding:8px 0 24px;margin-bottom:20px;position:relative}.header-illustration{position:relative;margin-bottom:-10px}.header-svg{width:100%;max-width:400px;height:80px}.header-text{position:relative}.header-icon{font-size:2.2rem;margin-bottom:4px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dashboard-header h1{font-size:2rem;background:linear-gradient(135deg,#e91e8c,#9b59b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;letter-spacing:.05em}.dashboard-header .date{color:#b06ab3;font-size:.88rem;margin-top:6px;letter-spacing:.03em}.dashboard-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:768px){.dashboard-grid{grid-template-columns:2fr 1fr}.calendar-section{grid-column:1/-1}}@media (min-width:1024px){.dashboard-grid{grid-template-columns:2fr 1fr 1fr}.calendar-section{grid-column:1/-1}}.card{background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:20px;box-shadow:0 4px 16px rgba(233,30,140,.08),0 1px 4px rgba(0,0,0,.05);border:1.5px solid rgba(255,182,219,.3)}.card h2{font-size:1rem;font-weight:700;margin-bottom:16px;color:#c2185b;display:flex;align-items:center;gap:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.calendar-day-header{text-align:center;font-size:.75rem;font-weight:700;color:#b06ab3;padding:4px}.calendar-day-header.sun{color:#e91e8c}.calendar-day-header.sat{color:#7b1fa2}.calendar-day{min-height:80px;border:1px solid #fce4ec;border-radius:10px;padding:4px;background:#fff9fb}.calendar-day.today{background:linear-gradient(135deg,#fce4ec,#f3e5f5);border-color:#e91e8c;box-shadow:0 0 0 2px rgba(233,30,140,.15)}.day-number{font-size:.8rem;font-weight:700;margin-bottom:4px;color:#555}.calendar-day.today .day-number,.day-number.sun{color:#e91e8c}.day-number.sat{color:#7b1fa2}.event{font-size:.65rem;background:linear-gradient(135deg,#e91e8c,#9c27b0);color:white;border-radius:4px;padding:2px 5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-input-area{display:flex;gap:8px;margin-bottom:12px}.list-input-area input{flex:1 1;padding:9px 14px;border:1.5px solid #f8bbd9;border-radius:12px;font-size:.9rem;outline:none;background:#fff9fb;color:#444;transition:border-color .2s}.list-input-area input:focus{border-color:#e91e8c;background:white}.list-input-area input::placeholder{color:#dbb3c8}.list-input-area button{padding:9px 16px;background:linear-gradient(135deg,#e91e8c,#9c27b0);color:white;border:none;border-radius:12px;font-size:.9rem;cursor:pointer;font-weight:700;transition:opacity .2s,transform .1s}.list-input-area button:hover{opacity:.88;transform:scale(1.03)}.list-items{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.list-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:#fff5f9;border:1px solid #fce4ec;transition:background .2s}.list-item:hover{background:#fce4ec}.list-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#e91e8c}.list-item span{flex:1 1;font-size:.9rem}.list-item.completed span{text-decoration:line-through;color:#ccc}.list-item .delete-btn{background:none;border:none;color:#f8bbd9;cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:6px;transition:color .2s,background .2s}.list-item .delete-btn:hover{color:#e91e8c;background:#fce4ec}.loading{color:#b06ab3;padding:20px;font-size:.9rem}.error,.loading{text-align:center}.error{color:#c62828;padding:10px;font-size:.85rem;background:#fce4ec;border-radius:10px}.weekly-quote{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 20px;background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1.5px solid rgba(255,182,219,.4);border-radius:999px;box-shadow:0 2px 10px rgba(233,30,140,.08);max-width:600px}.quote-icon{font-size:1.1rem;flex-shrink:0}.quote-text{font-size:.82rem;color:#9c27b0;font-weight:600;letter-spacing:.02em;line-height:1.5}