:root{color:#27332f;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f1eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:#24584a}a:hover{color:#173d34}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.app-header{color:#fff;background:#234d42;align-items:center;gap:2rem;padding:1rem clamp(1rem,4vw,3rem);display:flex;box-shadow:0 2px 12px #16312a33}.brand{color:#fff;letter-spacing:.04em;font-size:1.35rem;font-weight:800;text-decoration:none}.app-header nav{flex:1;gap:.5rem;display:flex}.app-header nav a{color:#e8f2ee;border-radius:.55rem;padding:.55rem .8rem;text-decoration:none}.app-header nav a:hover,.app-header nav a.active{color:#fff;background:#ffffff24}.session-actions{align-items:center;gap:.75rem;display:flex}.session-actions span{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.app-content{width:min(1180px,100% - 2rem);min-width:0;margin:0 auto;padding:2rem 0 3rem}.app-footer{text-align:center;color:#d9e8e2;background:#1d3f36;padding:1.25rem}.app-footer p{margin:0}.card{background:#fff;border:1px solid #ded8cd;border-radius:1rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 8px 28px #2a343014}.card+.card,section+section{margin-top:1.5rem}h1,h2{color:#234d42}h1{margin-top:0;font-size:clamp(1.7rem,4vw,2.35rem)}h2{font-size:1.25rem}form{gap:1rem;display:grid}label{color:#3c4c46;margin-bottom:.4rem;font-weight:650;display:block}input,select,textarea{color:#27332f;background:#fcfbf8;border:1px solid #cfc8bd;border-radius:.65rem;width:100%;padding:.75rem .85rem}textarea{resize:vertical;min-height:7rem}input:focus,select:focus,textarea:focus{border-color:#2f6f5e;outline:3px solid #2f6f5e2e}.button,button{cursor:pointer;color:#fff;background:#2f6f5e;border:0;border-radius:.6rem;padding:.65rem .95rem;font-weight:700}.button:hover,button:hover{background:#245748}.button-secondary{color:#21493e;background:#eef6f2}.button-secondary:hover{background:#dcece5}.button:disabled,button:disabled{cursor:not-allowed;opacity:.58}table{border-collapse:collapse;background:#fff;width:100%;margin-top:1rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e7e1d7;padding:.8rem}th{color:#fff;background:#2f6f5e}tbody tr:hover{background:#faf8f4}td a{margin-right:.35rem}td button{margin:.2rem;padding:.45rem .65rem;font-size:.85rem}.alert{border:1px solid;border-radius:.7rem;margin:1rem 0;padding:.85rem 1rem}.alert-error{color:#8c2118;background:#fff0ee;border-color:#efc4bf}.alert-success{color:#235d46;background:#edf8f3;border-color:#bfe0d0}.loader{color:#54635e;align-items:center;gap:.7rem;padding:1rem 0;display:flex}.loader-spinner{border:3px solid #cadbd4;border-top-color:#2f6f5e;border-radius:50%;width:1.1rem;height:1.1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}dl{grid-template-columns:minmax(8rem,12rem) 1fr;gap:.55rem 1rem;display:grid}dt{color:#40534c;font-weight:750}dd{margin:0}@media (width<=800px){.app-header{flex-wrap:wrap;gap:.75rem 1rem}.app-header nav{flex-basis:100%;order:3;overflow-x:auto}.session-actions{margin-left:auto}table{white-space:nowrap;display:block;overflow-x:auto}}@media (width<=520px){.app-content{width:min(100% - 1rem,1180px);padding-top:.75rem}.card{border-radius:.75rem}.session-actions span{display:none}dl{grid-template-columns:1fr}dd{margin-bottom:.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}.auth-page{background-color:#faf7f2;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background-color:#fff;border:1px solid #e7e1d8;border-radius:18px;width:100%;max-width:430px;padding:40px;box-shadow:0 8px 20px #0000000d}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{color:#2f5d50;margin-bottom:.5rem;font-size:2rem;font-weight:700}.auth-header p{color:#5f6368;font-size:.95rem;line-height:1.5}.form-group{flex-direction:column;margin-bottom:1.2rem;display:flex}.form-group label{color:#5f6368;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.form-group input{color:#5f6368;background-color:#f7f4ef;border:1px solid #d8d2c8;border-radius:12px;padding:.9rem 1rem;font-size:.95rem;transition:border-color .2s}.form-group input::placeholder{color:#9b9b9b}.form-group input:focus{border-color:#2f5d50;outline:none}.forgot-password{text-align:right;margin-bottom:1.8rem}.forgot-password a{color:#2f5d50;font-size:.9rem;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.login-button{color:#fff;cursor:pointer;background-color:#2f5d50;border:none;border-radius:12px;width:100%;padding:.95rem;font-size:1rem;font-weight:600;transition:background-color .2s}.login-button:hover{background-color:#274d43}.register-link{text-align:center;margin-top:1.8rem}.register-link p{color:#5f6368;margin-bottom:.3rem;font-size:.95rem}.register-link span,.register-link a{color:#2f5d50;font-size:.9rem;font-weight:600}.form-group small{color:#737373;margin-top:.35rem}.users-page{background-color:#faf7f2;justify-content:center;min-height:100vh;padding:2rem;display:flex}.users-card{background-color:#fff;border:1px solid #e7e1d8;border-radius:18px;width:100%;max-width:900px;padding:40px;box-shadow:0 8px 20px #0000000d}.users-header{text-align:center;margin-bottom:2rem}.users-header h1{color:#2f5d50;margin-bottom:.5rem;font-size:2rem;font-weight:700}.users-header p{color:#5f6368;font-size:.95rem;line-height:1.5}.users-card h2{color:#2f5d50;margin-bottom:1rem;font-size:1.5rem}.user-form-group{flex-direction:column;margin-bottom:1.2rem;display:flex}.user-form-group label{color:#5f6368;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.user-form-group input,.user-form-group select{color:#5f6368;background-color:#f7f4ef;border:1px solid #d8d2c8;border-radius:12px;padding:.9rem 1rem;font-size:.95rem;transition:all .2s}.user-form-group input::placeholder{color:#9b9b9b}.user-form-group input:focus,.user-form-group select:focus{border-color:#2f5d50;outline:none}.user-button{color:#fff;cursor:pointer;background-color:#2f5d50;border:none;border-radius:12px;width:100%;margin-top:1rem;padding:.95rem;font-size:1rem;font-weight:600;transition:all .2s}.user-button:hover{background-color:#274d43}.users-card hr{border:none;border-top:1px solid #e7e1d8;margin:2.5rem 0}.users-card table{border-collapse:collapse;width:100%;margin-top:1rem}.users-card thead{color:#fff;background-color:#2f5d50}.users-card th{text-align:left;padding:14px;font-size:.95rem}.users-card td{color:#5f6368;border-bottom:1px solid #ece7df;padding:14px}.users-card tbody tr:hover{background-color:#faf7f2}.users-card td button{cursor:pointer;border:none;border-radius:8px;margin-right:.5rem;padding:.5rem .9rem;font-size:.85rem;transition:all .2s}.users-card td button:first-child{color:#fff;background-color:#2f5d50}.users-card td button:first-child:hover{background-color:#274d43}.users-card td button:last-child{color:#fff;background-color:#b42318}.users-card td button:last-child:hover{background-color:#8f1c13}.success-message{color:#2f5d50;background-color:#eaf5f2;border:1px solid #cfe6de;border-radius:10px;margin-bottom:1rem;padding:.8rem}.error-message{color:#b42318;background-color:#feecec;border:1px solid #f5c2c7;border-radius:10px;margin-bottom:1rem;padding:.8rem}@media (width<=768px){.users-card{padding:25px}.users-card table{white-space:nowrap;display:block;overflow-x:auto}}
