: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}}.navbar{display:flex;flex-wrap:nowrap;background-color:var(--dark);margin:0;padding:.5rem;width:100%;justify-content:space-between;list-style:none;padding-left:0}.navbar-item{list-style:none;text-align:center;color:var(--offWhite);flex:1}.navbar-link{text-decoration:none;font-family:Quicksand,sans-serif;letter-spacing:1px}.navbar-logout{margin-left:0}.navbar-link:hover{color:var(--primary)}.container-session{text-align:center;margin:2rem auto}.session-list{width:60%;margin:2rem auto;padding:0;background:none;border:none;border-radius:0;box-shadow:none}.session-list h2{font-size:1.5rem;margin-bottom:.5rem}.session-list p{margin:.25rem 0}.session-list button{margin:.5rem .5rem 1rem;padding:.5rem 1rem;border-radius:5px;border:1px solid var(--outline);background:var(--primary);color:var(--offWhite);cursor:pointer}.session-list button:hover{background:var(--secondary)}.session-card{background-color:var(--offWhite);border:1px solid var(--outline);border-radius:10px;box-shadow:1px 2px 5px #d3d3d3;padding:1.5rem 2rem;margin-bottom:1.5rem;text-align:left}.session-card .edit-btn{background:#1976d2;color:#fff;border:1px solid #1976d2}.session-card .edit-btn:hover{background:#1565c0;color:#e3f2fd}.session-card .delete-btn{background:#d32f2f;color:#fff;border:1px solid #d32f2f}.session-card .delete-btn:hover{background:#b71c1c;color:#ffcdd2}.new-session-btn{background:#388e3c;color:#fff;border:1px solid #388e3c;border-radius:10px;padding:1.5rem 2rem;font-size:1.1rem;font-weight:700;margin-bottom:1.5rem;cursor:pointer;box-shadow:1px 2px 5px #d3d3d3;transition:background .2s,color .2s}.new-session-btn:hover{background:#1b5e20;color:#c8e6c9}.filter-session input[type=text],.filter-session select{width:100%;padding:1em;border:1px solid #d1d5db;border-radius:8px;font-size:1em;background:#fff;color:#222;box-shadow:0 2px 6px #0000000a;transition:border-color .2s,box-shadow .2s}.new-session-btn{width:100%;background:#4e9c2c;color:#fff;border:none;border-radius:8px;padding:1em 0;font-size:1.15em;font-weight:600;cursor:pointer;margin-top:1em;transition:background .2s}.new-session-btn:hover{background:#388e3c}.filter-session input[type=text]{width:100%;max-width:700px;box-sizing:border-box}.session-form{width:60%;margin:2rem auto;border:1px solid var(--outline);border-radius:10px;padding:1rem 0rem 0rem 1rem;box-shadow:1px 2px 5px #d3d3d3;background-color:var(--offWhite)}.session-form>div{margin-bottom:1rem}.session-form label{display:block;margin-bottom:.5rem;font-weight:700}.session-form input[type=text],.session-form input[type=number],.session-form input[type=date],.session-form select{width:90%;padding:.5rem;border:1px solid var(--outline);border-radius:.25rem;font-size:1rem}.session-form input[type=checkbox]{margin-right:.5em}.session-form button{margin-right:1rem;padding:.5rem 1.5rem;border-radius:5px;border:1px solid var(--outline);background:var(--primary);color:var(--offWhite);cursor:pointer}.session-form button:hover{background:var(--secondary)}.focus-areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 2rem;margin-top:.5rem}body{background:#f7f9fa}.container-login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.container-login>section>a{text-decoration:underline;color:var(--secondary)}.container-login>section>a,a.register-link{color:#7cb342;text-decoration:none;font-weight:500;transition:color .2s}.container-login>section>a:hover,a.register-link:hover{color:#673ab7;text-decoration:underline}.form-login{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:2em 2.5em;display:flex;flex-direction:column;align-items:center;width:420px;max-width:95vw}.form-login>h1,.form-login>h2{text-align:center;margin-bottom:1em}.form-login>fieldset>input[type=email]{width:25em}.form-group{width:100%;display:flex;flex-direction:column;align-items:center}.form-control{width:100%;padding:.75em 1em;border:1px solid #d1d5db;border-radius:8px;font-size:1em;margin-bottom:1em;background:#f5f5f5;color:#222}.login-btn{width:100%;background:#7cb342;color:#fff;border:none;border-radius:8px;padding:.75em 0;font-size:1.1em;font-weight:600;cursor:pointer;margin-top:1em;transition:background .2s}.login-btn:hover{background:#558b2f}section:last-child{margin-top:1.5em;text-align:center}a{color:#7cb342;text-decoration:none;font-weight:500}a:hover{text-decoration:underline}form{margin:3rem 5rem;border:1px solid var(--outline);border-radius:10px;padding:1rem 0rem 0rem 1rem;box-shadow:1px 2px 5px #d3d3d3;background-color:var(--offWhite)}fieldset{min-width:0;padding-bottom:1.5rem;margin:0;border:0}.form-btn{align-self:flex-end}.form-btn:focus{box-shadow:none;outline:2px solid transparent;outline-offset:2px}.dashboard-container{text-align:center;margin:2rem auto}.dashboard-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.dashboard-card{background-color:var(--offWhite);border:1px solid var(--outline);border-radius:10px;box-shadow:1px 2px 5px #d3d3d3;padding:1.5rem 2rem;min-width:120px}.dashboard-card h2{font-size:2rem;margin-bottom:.5rem}.dashboard-card p{font-size:1rem;color:var(--secondary)}.dashboard-container button{margin-top:1rem;padding:.5rem 1.5rem;border-radius:5px;border:1px solid var(--outline);background:var(--primary);color:var(--offWhite);cursor:pointer}.dashboard-container button:hover{background:var(--secondary)}button.new-session-btn{background:#388e3c!important;color:#fff!important;border:1px solid #388e3c;border-radius:10px;padding:1.5rem 2rem;font-size:1.1rem;font-weight:700;margin-bottom:1.5rem;cursor:pointer;box-shadow:1px 2px 5px #d3d3d3;transition:background .2s,color .2s}body{margin:0;padding:0;font-family:Segoe UI,Arial,sans-serif;background:#f7f9fa;color:#222}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.navbar{position:fixed;top:0;left:0;width:100%;background:#7cb342;color:#fff;padding:1.2em 2em;display:flex;align-items:center;justify-content:space-between;z-index:1000;box-shadow:0 2px 8px #00000014}.navbar a{color:#fff;text-decoration:none;margin-left:2em;font-weight:500;font-size:1.05em}.navbar a:hover{text-decoration:underline}.container-session,.dashboard-container,.form-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;padding:4em 2em 2em;margin:2em auto;max-width:700px}.container-session{max-width:900px;margin:5em auto 2em;padding:0 1em;display:flex;flex-direction:column;align-items:center}h1{font-size:1.5em;font-weight:600;margin-bottom:1em;color:#222;text-align:center}.filter-session{display:flex;flex-direction:column;gap:1em;width:100%;margin-bottom:2em}.filter-session input[type=text],.filter-session select{width:100%;padding:.75em 1em;border:1px solid #d1d5db;border-radius:8px;font-size:1em;background:#fff;color:#222;box-shadow:0 2px 6px #0000000a;transition:border-color .2s,box-shadow .2s}.filter-session input[type=text]:focus,.filter-session select:focus{border-color:#7cb342;box-shadow:0 0 0 2px #c8e6c9;outline:none}.filter-session select{min-width:180px}.new-session-btn{background:#7cb342;color:#fff;border:none;border-radius:8px;padding:.75em 1.5em;font-size:1em;font-weight:500;cursor:pointer;width:100%;margin-bottom:2em;transition:background .2s}.new-session-btn:hover{background:#558b2f}.session-list{width:100%;padding:0;margin:0}.session-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:1.5em 2em;margin-bottom:2em;display:flex;flex-direction:column;gap:.5em;align-items:stretch;max-width:800px;margin-left:auto;margin-right:auto}.session-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5em}.session-card h2{font-size:1.15em;font-weight:600;margin:0}.session-meta-row{display:flex;gap:2em;font-size:1em;margin-bottom:.5em}.session-meta-row span{display:block;color:#444}.session-tags{display:flex;gap:.5em;margin:.5em 0}.session-tag{background:#e8f5e9;color:#388e3c;border-radius:16px;padding:.3em 1em;font-size:.95em;font-weight:500;border:1px solid #c8e6c9;display:inline-block}.session-card .notes-label{font-weight:600;margin-top:.5em;margin-bottom:.2em;color:#222;font-size:1em}.session-card-actions{display:flex;gap:1em;margin-top:1em}.edit-btn,.delete-btn{border:none;border-radius:8px;padding:.5em 1.2em;font-size:1em;font-weight:500;cursor:pointer;transition:background .2s}.edit-btn{background:#2196f3;color:#fff}.edit-btn:hover{background:#1976d2}.delete-btn{background:#f44336;color:#fff}.delete-btn:hover{background:#d32f2f}@media (max-width: 900px){.container-session{max-width:98vw;padding:0 .5em}.session-card{padding:1em;max-width:98vw}.session-meta-row,.session-card-header,.session-card-actions{flex-direction:column;gap:.5em}}@media (max-width: 700px){.container-session,.dashboard-container,.form-container{padding:1em;margin:1em}.navbar{flex-direction:column;align-items:flex-start;padding:1em}}@media (max-width: 500px){.container-session{max-width:98vw;padding:0 .5em}.session-card{padding:1em}}
