06

Komponen

Kontrak setiap komponen: navbar, hero, kartu, sidebar, tombol, dropzone, dan lainnya.

navbar

container<nav id="navbar"> position: sticky; top: 0; z-index: 50
backgroundrgba(10, 10, 15, 0.95)
backdropblur(4px)
border-bottom1px solid #1a1a2e
height48px (var(--nav-height))
scrolledadds box-shadow: var(--shadow-md)

brand.json path: /component/navbar

hero

containersection.hero-brand with optional bg-brand-gradient-animated
min-heightcalc(100svh - 5rem)
shield-flanktwo decorative shield SVGs at 6% opacity, hidden below 768px

brand.json path: /component/hero

section-badge

recipeuppercase pill, cyan text on rgba(0,184,212,0.12), 1px border rgba(0,184,212,0.25), padding 4-8 vertical 10-14 horizontal, radius 4-20

brand.json path: /component/section-badge

breadcrumb

paddingvar(--space-md) 0
size14px
color#6E6E73
separator8px margin both sides, 0.5 opacity, user-select none

brand.json path: /component/breadcrumb

card-feature

backgroundrgba(255, 255, 255, 0.03)
backdropblur(16px)
border1px solid rgba(255, 255, 255, 0.08)
radius16px
padding40px
hovertranslateY(-4px), surface-hover bg, cyan-tint border, shadow card-hover
icon-tile48x48 with 12px radius and --icon-bg-* tint

brand.json path: /component/card-feature

card-pricing

grid.pr-plans-grid max-width 1120px, 3 columns at >=768px
card-basergba(255,255,255,0.04) bg, blur(40px) saturate(180%), 1px solid rgba(255,255,255,0.08), radius 28px, padding 40px 32px 36px
pro-elevatedscale(1.04), cyan-tinted bg, cyan border, outer cyan glow
hovertranslateY(-4px); Pro keeps scale and adds lift

brand.json path: /component/card-pricing

pricing-toggle

wrapperpill, padding 4px, bg rgba(255,255,255,0.05), 1px solid rgba(255,255,255,0.10)
activesolid teal #14b8a6, white text, shadow 0 4px 12px rgba(20,184,166,0.35)
inactivetransparent, text tertiary, hover white
save-chip#fbbf24 (or #fde68a on active background)

brand.json path: /component/pricing-toggle

faq

question-buttonaria-expanded, font-display 17px 600, hover cyan
glyph+ collapsed, - expanded; transitions on duration-fast
answermax-height transition with padding-bottom

brand.json path: /component/faq

dashboard-sidebar

width260px (--sidebar-width)
backgroundlinear-gradient(180deg, #121220 0%, #0f0f18 40%, #0c0c15 100%)
group-label11px 600 uppercase 0.05em tracking, color text-faint
nav-item-height40px
nav-item-radius8px
active-statergba(0,184,212,0.08) background AND a 3px LEFT BORDER in cyan #00B8D4. Hard BetterGuard rule: never bottom, never right.
hoverrgba(255,255,255,0.04)
Aturan tegas. Item sidebar aktif menggunakan BATAS KIRI 3px dalam cyan #00B8D4. Tidak pernah bawah, tidak pernah kanan. Ini adalah aturan tegas BetterGuard dari BRAND_GUIDELINES.md C.10.
Obfuscate
History
Settings

brand.json path: /component/dashboard-sidebar

plan-badge

padding4px 10px
font10px 700 uppercase 0.5px tracking
backgroundlinear-gradient(135deg, rgba(124,77,255,0.3) 0%, rgba(0,184,212,0.2) 100%)
border1px solid rgba(124,77,255,0.5)
radius20px
color#c77dff with text-shadow 0 0 8px rgba(199,125,255,0.5)

brand.json path: /component/plan-badge

dropzone

default-border2px dashed #2a2a3e
background#0f0f1a
hoverborder #00B8D4, background rgba(0,184,212,0.05)
dragoverborder #00B8D4, background rgba(0,184,212,0.1)

brand.json path: /component/dropzone

btn-primary

padding12px 24px
backgroundlinear-gradient(135deg, #00B8D4, #9D7EFF)
color#FFFFFF
fontSora 17px 600
radius8px
transitiontransform, box-shadow on 200ms ease-out
hovertranslateY(-2px), glow-brand
focus-visible2px solid #00B8D4 outline, 2px offset, 8px radius

brand.json path: /component/btn-primary

btn-secondary

backgroundtransparent
color#00E5FF
border2px solid #00E5FF
radius8px
hoverrgba(255,255,255,0.1) background, white text

brand.json path: /component/btn-secondary

color#00B8D4
glyphU+203A right single angle bracket
transitioncolor, gap on hover (gap 4px to 8px)

brand.json path: /component/cta-link

ruletransient pre-launch strip; red border, dark bg, small white text. Remove on public launch. Red accent is only allowed here.

brand.json path: /component/footer-construction-banner

language-dropdown

triggermin-width 44px, min-height 44px touch target
panellists 43+ locales, alpine click-outside close, arrow-key nav

brand.json path: /component/language-dropdown