:root{--bg:#f4f6f8;--surface:#fff;--text:#132238;--muted:#657287;--border:#dfe5ec;--primary:#5f2eea;--primary-dark:#4520ae;--primary-soft:#eee8ff;--success:#087f5b;--shadow:0 16px 45px rgba(28,43,64,.10);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,rgba(95,46,234,.08),transparent 32rem),var(--bg);color:var(--text)}a{color:inherit}.login-page{display:grid;place-items:center;padding:24px}.login-shell{width:min(100%,460px)}.login-card{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:40px}.brand-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--primary),#8c63ff);color:#fff;font-weight:800}.brand-mark.small{width:44px;height:44px;border-radius:13px}.eyebrow,.project-kicker{margin:22px 0 7px;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(2rem,5vw,3.3rem);letter-spacing:-.045em;line-height:1.02}.login-card h1{font-size:2rem}.intro,.hero p,.project-card p{color:var(--muted);line-height:1.65}form{display:grid;gap:10px;margin-top:28px}label{margin-top:8px;font-size:.9rem;font-weight:700}input,textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);font:inherit;padding:13px 14px;outline:none}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(95,46,234,.12)}.primary-button,.card-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;background:var(--primary);color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.primary-button{margin-top:16px;padding:14px 18px}.primary-button:hover,.card-action:hover{background:var(--primary-dark)}.alert{margin-top:20px;border:1px solid #f2b8b5;border-radius:12px;background:#fff2f1;color:#9c2c27;padding:12px 14px}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(20px,5vw,64px);background:rgba(255,255,255,.88);border-bottom:1px solid var(--border);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:2px}.logout-link{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px 14px;text-decoration:none;font-weight:700}.page-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:72px 0 30px}.hero{max-width:790px;margin-bottom:44px}.hero .eyebrow{margin-top:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{min-height:430px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 16px 40px rgba(28,43,64,.07);padding:30px}.project-card.featured{background:radial-gradient(circle at top right,rgba(95,46,234,.14),transparent 19rem),var(--surface)}.project-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:20px;background:var(--primary-soft);color:var(--primary);font-weight:900;font-size:1.2rem}.project-icon.import{background:#e9f8f2;color:var(--success)}.project-card h2{margin-bottom:12px;font-size:1.75rem;letter-spacing:-.035em}.project-card .card-action{margin-top:auto;align-self:flex-start;padding:13px 17px}.module-list{display:grid;gap:9px;margin:24px 0 28px;padding:0;list-style:none}.module-list a{display:block;border:1px solid var(--border);border-radius:11px;background:#f8fafc;padding:11px 13px;text-decoration:none;font-weight:700}.module-list a:hover{border-color:var(--primary);color:var(--primary)}.site-footer{display:flex;justify-content:space-between;gap:20px;margin-top:36px;color:var(--muted);font-size:.9rem}.placeholder{max-width:780px;margin:70px auto;padding:36px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.back-link{color:var(--primary);font-weight:800;text-decoration:none}@media(max-width:760px){.login-card{padding:28px 22px}.page-shell{width:min(100% - 28px,1180px);padding-top:42px}.project-grid{grid-template-columns:1fr}.project-card{min-height:360px}.topbar{padding-inline:16px}.brand small{display:none}}


.integration-status {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0;
    color: var(--success) !important;
    font-size: 0.84rem;
    font-weight: 800;
}

.integration-status span {
    font-size: 0.7rem;
}
