:root{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-border: #334155;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-text: #f8fafc;--color-text-secondary: #94a3b8;--color-accent-ntp: #10b981;--color-accent-ics: #8b5cf6;--radius: 16px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0, 0, 0, .3);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh;-webkit-font-smoothing:antialiased}#root,.portal{min-height:100vh;display:flex;flex-direction:column}.portal-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172acc;position:sticky;top:0;z-index:10}.portal-nav-brand{display:flex;align-items:center;gap:.75rem}.portal-nav-logo{font-size:1.5rem}.portal-nav-title{font-size:1rem;font-weight:600;letter-spacing:-.01em}.portal-nav-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;background:#3b82f626;color:var(--color-primary);font-weight:500}.portal-hero{text-align:center;padding:4rem 2rem 2rem}.portal-hero-badge{display:inline-block;font-size:.75rem;font-weight:500;padding:.35rem 1rem;border-radius:20px;background:linear-gradient(135deg,#3b82f626,#8b5cf626);color:var(--color-primary);margin-bottom:1.5rem;border:1px solid rgba(59,130,246,.2)}.portal-hero h1{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.75rem;background:linear-gradient(135deg,#f8fafc,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portal-hero p{font-size:1.1rem;color:var(--color-text-secondary);max-width:540px;margin:0 auto;line-height:1.6}.portal-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;padding:2rem;max-width:900px;margin:0 auto;flex:1}.service-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;text-decoration:none;color:var(--color-text);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);cursor:pointer;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius) var(--radius) 0 0;opacity:0;transition:opacity var(--transition)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card:hover:before{opacity:1}.service-card--ntp:before{background:linear-gradient(90deg,var(--color-accent-ntp),#34d399)}.service-card--ntp:hover{border-color:#10b98166}.service-card--ics:before{background:linear-gradient(90deg,var(--color-accent-ics),#a78bfa)}.service-card--ics:hover{border-color:#8b5cf666}.service-card-header{display:flex;align-items:center;gap:1rem}.service-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.service-card--ntp .service-card-icon{background:#10b9811f}.service-card--ics .service-card-icon{background:#8b5cf61f}.service-card-title{font-size:1.25rem;font-weight:600}.service-card-subtitle{font-size:.8rem;color:var(--color-text-secondary)}.service-card-desc{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}.service-card-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.service-card-feature{font-size:.75rem;padding:.25rem .6rem;border-radius:6px;background:#94a3b81a;color:var(--color-text-secondary)}.service-card-action{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:1rem;font-size:.85rem;font-weight:500;color:var(--color-primary);transition:gap var(--transition)}.service-card:hover .service-card-action{gap:.75rem}.portal-footer{text-align:center;padding:1.5rem 2rem;font-size:.8rem;color:var(--color-text-secondary);border-top:1px solid var(--color-border)}@media(max-width:700px){.portal-hero h1{font-size:1.75rem}.portal-services{grid-template-columns:1fr;padding:1rem}}
