:root{--brand-color: #4f46e5;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:320px;display:flex;flex-direction:column;gap:.75rem}.login-card h1{font-size:1.25rem;margin:0 0 .5rem;text-align:center}input,select{padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem}button{cursor:pointer;border-radius:8px;border:none;padding:.6rem 1rem;font-size:.9rem;background:var(--brand-color);color:#fff}button.link{background:none;color:var(--text-muted);text-decoration:underline;padding:.25rem 0;text-align:left}.error{color:#dc2626;font-size:.85rem;margin:0}.hint{color:var(--text-muted);font-size:.9rem}.portal{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem 1rem}.brand{font-weight:600;margin-bottom:1.5rem;color:var(--brand-color)}nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-item{background:none;color:var(--text);text-align:left;padding:.5rem .75rem}.nav-item.active{background:var(--bg);font-weight:600;color:var(--brand-color)}.sidebar-footer{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.content{flex:1;padding:2rem}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}.app-tile{display:block;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem;text-decoration:none;color:var(--text)}.app-tile-name{font-weight:600}.app-tile-desc{color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.admin-panel section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1rem}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
