:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1rem}.login-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:360px}.login-card h1{margin-bottom:1.5rem;text-align:center;font-size:1.5rem;color:#2c5282}.toggle-auth{text-align:center;margin-top:1rem;font-size:.9rem;color:#666}.toggle-auth button{background:none;border:none;color:#2c5282;cursor:pointer;padding:0;font-size:.9rem;text-decoration:underline;width:auto}.toggle-auth button:hover{color:#2a4365;background:none}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background:#f7fafc;color:#333}.form-group input:focus{outline:none;border-color:#2c5282}.error{background:#fed7d7;color:#c53030;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}button{width:100%;padding:.75rem;background:#2c5282;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer}button:hover{background:#2a4365}button:disabled{background:#a0aec0;cursor:not-allowed}.dashboard{min-height:100vh}.dashboard header{background:#2c5282;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center}.dashboard header h1{font-size:1.25rem}.dashboard header button{width:auto;padding:.5rem 1rem;background:#fff3;font-size:.9rem}.dashboard header button:hover{background:#ffffff4d}.dashboard main{padding:1rem}@media(min-width:768px){.dashboard main{padding:2rem 4rem}}@media(min-width:1200px){.dashboard main{padding:2rem 8rem}}.counselee-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.counselee-header h2{font-size:1.1rem;color:#2c5282}.add-btn{width:auto;padding:.5rem 1rem;font-size:.9rem}.add-form{background:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.add-form input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;margin-bottom:.5rem;background:#f7fafc;color:#333}.add-form input:focus{outline:none;border-color:#2c5282}.form-buttons{display:flex;gap:.5rem;margin-top:.5rem}.form-buttons button{flex:1}.form-buttons button[type=button]{background:#e2e8f0;color:#4a5568}.empty-state{text-align:center;color:#666;padding:2rem;background:#fff;border-radius:8px}.counselee-list{list-style:none}.counselee-card{display:flex;align-items:center;background:#fff;padding:1rem;border-radius:8px;margin-bottom:.5rem;box-shadow:0 1px 3px #0000001a}.status-dot{width:12px;height:12px;border-radius:50%;margin-right:.75rem;flex-shrink:0}.counselee-info{flex:1;display:flex;flex-direction:column}.counselee-info strong{font-size:1rem}.counselee-info span{font-size:.85rem;color:#666}.streak{font-size:.85rem;color:#28a745;font-weight:500}.greeting{font-size:1.1rem;margin-bottom:1rem;color:#2c5282}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1.1rem;color:#2c5282}.section-title{font-size:1.1rem;color:#2c5282;margin:1.5rem 0 1rem}.homework-list{list-style:none}.homework-card{display:flex;align-items:flex-start;background:#fff;padding:1rem;border-radius:8px;margin-bottom:.5rem;box-shadow:0 1px 3px #0000001a}.homework-card.completed{opacity:.6}.check-btn{width:32px;height:32px;padding:0;border-radius:50%;background:#fff;border:2px solid #2c5282;color:#2c5282;font-size:1.2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:.75rem}.check-btn:hover:not(:disabled){background:#2c5282;color:#fff}.check-btn:disabled{background:#28a745;border-color:#28a745;color:#fff}.homework-info{flex:1;display:flex;flex-direction:column}.homework-info strong{font-size:1rem;margin-bottom:.25rem}.homework-info span{font-size:.85rem;color:#666}.homework-info .meta{font-size:.75rem;color:#999;margin-top:.25rem}.thinklist-list{list-style:none}.thinklist-card{background:#fff;padding:1rem;border-radius:8px;margin-bottom:.5rem;box-shadow:0 1px 3px #0000001a}.thinklist-card strong{display:block;color:#2c5282;margin-bottom:.5rem}.thinklist-card p{font-size:.9rem;color:#333;line-height:1.4}.heart-journal-btn{margin-top:1.5rem;background:#e53e3e;font-size:1rem}.heart-journal-btn:hover{background:#c53030}.back-btn{width:auto;padding:.5rem 1rem;background:transparent;font-size:.9rem;color:#fff}.back-btn:hover{background:#fff3}.clickable{cursor:pointer;transition:transform .1s,box-shadow .1s}.clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.counselee-detail{background:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.counselee-detail p{color:#666;font-size:.9rem}.delete-btn{margin-top:1rem;background:#e53e3e;font-size:.85rem;padding:.5rem 1rem;width:auto}.delete-btn:hover{background:#c53030}.add-form select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;margin-bottom:.5rem;background:#f7fafc;color:#333}
