:root{--color-bg:#0f172a;--color-surface:#111827;--color-surface-soft:#1f2937;--color-border:#334155;--color-text:#f8fafc;--color-text-muted:#cbd5e1;--color-primary:#38bdf8;--color-primary-hover:#0ea5e9;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#ef4444;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.dashboard-page,.login-page{min-height:100vh;background:radial-gradient(circle at top,#1e293b,#020617);color:var(--color-text)}.login-page{display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:420px;background:rgba(15,23,42,.9);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px}.login-card h1{margin:0 0 8px;font-size:38px}.login-card p{margin:0 0 28px;color:var(--color-text-muted)}.login-card label{display:block;margin:16px 0 8px;color:var(--color-text-muted)}.login-card input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.dashboard-header button,.login-card button{margin-top:24px;width:100%;padding:12px 16px;border:0;border-radius:var(--radius-md);background:var(--color-primary);color:#020617;cursor:pointer;font-weight:700}.error{margin-top:16px;color:var(--color-danger)}.dashboard-page{padding:48px}.dashboard-shell{max-width:1180px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.dashboard-header h1{margin:0;font-size:42px}.dashboard-header button,.dashboard-header p{color:var(--color-text-muted)}.dashboard-header button{width:auto;background:transparent;border:1px solid var(--color-border)}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px}.app-card{background:rgba(15,23,42,.82);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;min-height:170px}.app-icon{font-size:34px;margin-bottom:18px}.app-card h2{margin:0 0 8px;font-size:22px}.app-card p{margin:0;color:var(--color-text-muted);line-height:1.5}