body{font-family:Roboto,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background-color:#f7f7fa;color:#222;font-size:24px;margin:0;padding:0;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;padding-top:60px}header{background:0 0;border:none;box-shadow:none;padding:2rem 1rem;text-align:center;flex-shrink:0}header h1{color:#222;font-size:48px;margin:0 0 10px 0;font-weight:300}header p{color:#444;font-size:24px;margin:10px 0}header nav{margin-top:20px}main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem;text-align:center;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.loading-container{margin:40px 0;display:flex;flex-direction:column;align-items:center}#app-content{visibility:hidden}#loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fff;display:flex;align-items:center;justify-content:center;z-index:9999}.spinner{width:3rem;height:3rem;border:.4rem solid #ddd;border-top-color:#333;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{background:0 0;color:#666;border:none;text-align:center;padding:2rem 1rem;font-size:18px;flex-shrink:0}.button,button{background-color:#222!important;color:#fff!important;border:2px solid #222;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:18px;transition:background-color .2s,border-color .2s;margin:5px;font-weight:500;outline:0;text-decoration:none;display:inline-block}.button:focus,.button:hover,button:focus,button:hover{background-color:#111!important;color:#fff!important;border-color:#111}.button:active,button:active{background-color:#000!important;color:#fff!important;border-color:#000}.button:visited,button:visited{color:#fff!important}button:disabled,button[disabled]{background-color:#e5e7eb;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;opacity:1}.button-secondary{background-color:#fff!important;color:#222!important;border:2px solid #222;border-radius:6px;padding:12px 24px;cursor:pointer;font-size:18px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s;outline:0;text-decoration:none;display:inline-block}.button-secondary:focus,.button-secondary:hover{background-color:#222!important;color:#fff!important;border-color:#222}.button-secondary:active{background-color:#111!important;color:#fff!important;border-color:#111}.button-secondary:visited{color:#222!important}section{margin:2rem 0;width:100%;max-width:800px}section h3{color:#222;font-size:32px;margin-bottom:1rem}section ol,section ul{text-align:left;max-width:600px;margin:2rem auto;padding:0;list-style:none}section ol li,section ul li{background-color:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);border-radius:8px;margin:1rem 0;padding:1.5rem;transition:background-color .2s}section ol li:hover,section ul li:hover{background-color:rgba(59,130,246,.2)}section ul li::before{content:"•";color:#3b82f6;font-size:24px;position:absolute;left:1rem;top:1.2rem}.data-container{background-color:rgba(209,213,219,.05);border:1px solid rgba(209,213,219,.2);border-radius:12px;padding:2rem;margin:2rem auto;max-width:800px}.data-item{background-color:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);border-radius:8px;margin:1rem 0;padding:1.5rem;transition:all .2s}.data-item:hover{background-color:rgba(59,130,246,.2);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.data-item h3,.data-item h4{color:#60a5fa;margin-top:0;margin-bottom:.5rem}.data-item p{margin:.5rem 0;line-height:1.5}table{width:100%;border-collapse:collapse;margin:2rem auto;background-color:rgba(209,213,219,.05);border-radius:8px;overflow:hidden}td,th{padding:1rem;text-align:left;border-bottom:1px solid rgba(209,213,219,.2)}th{background-color:rgba(59,130,246,.2);color:#60a5fa;font-weight:500}tr:hover{background-color:rgba(59,130,246,.1)}.error-message{background-color:rgba(239,68,68,.1);border:2px solid rgba(239,68,68,.3);color:#fca5a5;padding:2rem;border-radius:12px;margin:2rem auto;text-align:center;max-width:600px;box-shadow:0 4px 12px rgba(0,0,0,.3)}.error-message h3{color:#f87171;margin-top:0;font-size:28px;font-weight:500}.error-message p{margin:1rem 0;font-size:20px;line-height:1.5}.error-message p:last-child{color:#9ca3af;font-size:18px;font-style:italic}.success-message{background-color:rgba(34,197,94,.1);border:2px solid rgba(34,197,94,.3);color:#86efac;padding:2rem;border-radius:12px;margin:2rem auto;text-align:center;max-width:600px;box-shadow:0 4px 12px rgba(0,0,0,.3)}.success-message h3{color:#4ade80;margin-top:0;font-size:28px;font-weight:500}.htmx-request .loading{display:inline}.htmx-request .not-loading{display:none}.loading{display:none}.not-loading{display:inline}button.htmx-request{opacity:.7;cursor:not-allowed}.form-group{margin:1.5rem 0}.form-group label{display:block;margin-bottom:.5rem;color:#222;font-weight:500}.form-group input{width:100%;max-width:400px;padding:12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#222;font-size:16px;box-sizing:border-box}.form-group input:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.top-menu{position:fixed;top:0;left:0;width:100%;background:#f7f7fa;border-bottom:1px solid #d1d5db;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.03)}.top-menu ul{display:flex;flex-wrap:wrap;justify-content:center;margin:0;padding:.5rem 0;list-style:none}.top-menu li{margin:0 .5rem}.top-menu a{display:inline-block;padding:10px 18px;color:#222;background:#fff;border-radius:5px;text-decoration:none;font-weight:500;font-size:16px;transition:background .2s,color .2s;border:1px solid #d1d5db}.top-menu a:focus,.top-menu a:hover{background:#222;color:#fff;outline:0}a{color:#3b82f6;text-decoration:underline;transition:color .2s}a:focus,a:hover{color:#60a5fa;outline:0}a:visited{color:#2563eb}@media (max-width:900px){.top-menu ul{flex-direction:column;align-items:center}.top-menu li{margin:.25rem 0}}@media (max-width:768px){body{font-size:20px}header h1{font-size:36px}header p{font-size:20px}section h3{font-size:28px}.button,.button-secondary,button{font-size:16px;padding:10px 20px}main{padding:1rem}header{padding:1rem}footer{padding:1rem;font-size:16px}section ol,section ul{max-width:100%;margin:1rem 0}section ol li,section ul li{padding:1rem;margin:.5rem 0}.data-container{padding:1rem;margin:1rem 0}.data-item{padding:1rem}ol li{padding-left:2.5rem}ul li{padding-left:1.5rem}}@media (max-width:480px){body{font-size:18px}header h1{font-size:28px}header p{font-size:18px}section h3{font-size:24px}}#user-greeting{color:#222}.logout-btn{margin-left:auto}.top-menu li:last-child{margin-left:auto}.button-blue{background-color:#1e3a8a!important;color:#fff!important;border:2px solid #1e3a8a;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:18px;font-weight:500;transition:background-color .2s,border-color .2s;margin:5px;text-decoration:none;display:inline-block;outline:0}.button-blue:focus,.button-blue:hover{background-color:#1e40af!important;color:#fff!important;border-color:#1e40af}.button-blue:active{background-color:#1d4ed8!important;color:#fff!important;border-color:#1d4ed8}.button-blue:visited{color:#fff!important}.homepage-link{background-color:#1e3a8a;color:#fff;padding:.75rem 1.5rem;text-decoration:none;border-radius:.375rem;font-weight:500;transition:background-color .2s;display:inline-block}.homepage-link:hover{background-color:#1e40af}.error-message-large{font-size:1.5rem;margin-bottom:2rem}.status-message-spaced{margin-bottom:2rem}.htmx-loading-indicator,.htmx-request{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:htmxSpin 1s infinite linear}@keyframes htmxSpin{to{transform:rotate(360deg)}}