*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,Segoe UI,sans-serif;background:#111;color:#fff;min-height:100vh;-webkit-font-smoothing:antialiased}.topbar{background:#1a1a1a;padding:0 2rem;height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #9BC241;position:sticky;top:0;z-index:100}.topbar-title{color:#9bc241;font-weight:700;font-size:1rem}.topbar-title span{color:#fff;font-weight:400}.topbar-right{display:flex;align-items:center;gap:.75rem}.logout-btn,button.logout-btn{background:#e41f26;color:#fff;border:none;padding:7px 18px;border-radius:20px;font-weight:700;font-size:.82rem;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s}.logout-btn:hover{background:#c0181e}main{padding:2rem;max-width:880px;margin:0 auto}h1{color:#9bc241;font-size:1.4rem;margin-bottom:.3rem}h2{color:#f6ab1c;font-size:1.05rem;margin-bottom:1rem}p.subtitle{color:#aaa;font-size:.9rem;margin-bottom:2rem}hr{border:none;border-top:1px solid #2a2a2a;margin:1.75rem 0}.section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:.75rem}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:.9rem;margin-bottom:1.5rem}.tile{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:1.25rem 1rem;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;display:flex;flex-direction:column;gap:.4rem;transition:border-color .2s,background .2s}.tile:hover{border-color:#444;background:#222}.tile-icon{font-size:1.4rem}.tile-sub{font-size:.75rem;color:#666;font-weight:400}.tile-green{border-left:3px solid #9BC241}.tile-blue{border-left:3px solid #2E94C5}.tile-purple{border-left:3px solid #542B5C}.tile-yellow{border-left:3px solid #F6AB1C}.tile-red{border-left:3px solid #E41F26}.manager-box{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:1.25rem;margin-bottom:1.25rem}.manager-box h2{margin-bottom:.75rem}.form-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:2rem;max-width:420px;margin:3rem auto}.form-card h1{color:#9bc241;margin-bottom:.25rem}.form-card p{color:#666;font-size:.88rem;margin-bottom:1.5rem}label{display:block;font-size:.82rem;font-weight:600;color:#888;margin-bottom:.3rem}input[type=text],input[type=email],input[type=password],select{width:100%;padding:.65rem .85rem;background:#222;color:#fff;border:1px solid #333;border-radius:6px;font-size:.9rem;font-family:inherit;margin-bottom:1rem;transition:border-color .15s}input:focus,select:focus{outline:none;border-color:#9bc241}input::placeholder{color:#555}.btn{display:inline-flex;align-items:center;gap:6px;padding:.6rem 1.2rem;border:none;border-radius:6px;font-size:.88rem;font-weight:700;cursor:pointer;text-decoration:none;transition:opacity .15s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-green{background:#9bc241;color:#fff}.btn-green:hover{background:#7fa030}.btn-blue{background:#2e94c5;color:#fff}.btn-blue:hover{background:#1f7aaa}.btn-yellow{background:#f6ab1c;color:#fff}.btn-yellow:hover{background:#d49010}.btn-red{background:#e41f26;color:#fff}.btn-red:hover{background:#c0181e}.btn-full{width:100%;justify-content:center;padding:.8rem;font-size:.95rem}.alert{padding:.75rem 1rem;border-radius:6px;font-size:.88rem;margin-bottom:1rem}.alert-success{background:#9bc2411a;border:1px solid rgba(155,194,65,.3);color:#9bc241}.alert-error{background:#e41f261a;border:1px solid rgba(228,31,38,.3);color:#e41f26}table{width:100%;border-collapse:collapse;margin-top:1.5rem}th,td{border:1px solid #2a2a2a;padding:10px 12px;vertical-align:top;font-size:.88rem}th{background:#1a1a1a;color:#aaa;font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.4px}td{color:#ccc}tr:hover td{background:#1e1e1e}.create-box{background:#1a1a1a;padding:1.5rem;border-radius:8px;margin-bottom:2rem;border:1px solid #2a2a2a}.create-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.75rem;align-items:end}.protected{color:#444;font-size:.82rem}@media(max-width:600px){main{padding:1rem}.tile-grid{grid-template-columns:1fr 1fr}.create-grid{grid-template-columns:1fr}table{font-size:.78rem}th,td{padding:7px 8px}}
