*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:var(--dg-color-bg,#f3f1ea);--surface:var(--dg-color-surface-soft,hsla(0,0%,100%,.9));--surface-strong:var(--dg-color-surface,#fff);--ink:var(--dg-color-ink,#162018);--muted:var(--dg-color-muted,#5f6b61);--border:var(--dg-color-line,rgba(22,32,24,.12));--olive:var(--dg-color-primary-700,#334b35);--olive-deep:var(--dg-color-primary-800,#1e2d20);--sand:var(--dg-color-accent,#c7b57a);--sand-soft:color-mix(in srgb,var(--dg-color-accent,#ebe1bf) 24%,#fff);--danger:var(--dg-color-danger,#9d2f2f);--shadow:var(--dg-shadow-lg,0 20px 60px rgba(16,24,18,.12));--radius:var(--dg-radius-md,18px)}body,html{min-height:100%;font-family:var(--dg-font-body,Georgia,"Times New Roman",serif);color:var(--ink);background:var(--dg-page-gradient,linear-gradient(180deg,#f1eee5 0,#e8e2d3 100%))}body{min-height:100vh}a{color:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(15,45,84,.76),rgba(15,45,84,.8)),var(--dg-hero-gradient,linear-gradient(135deg,#2b3f2e 0,#18231a 100%))}.login-card{width:min(100%,460px);background:var(--surface);border:1px solid hsla(0,0%,100%,.35);border-radius:28px;padding:32px 28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-header{text-align:center;margin-bottom:24px}.login-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:22px;display:grid;place-items:center;color:#fff;font-weight:700;letter-spacing:.08em;background:linear-gradient(135deg,var(--olive-deep),var(--olive));box-shadow:0 12px 30px rgba(17,28,19,.22)}.login-title{font-size:1.7rem;line-height:1.15;margin-bottom:10px}.login-sub{color:var(--muted);line-height:1.5;font-size:.95rem}.login-banner{background:linear-gradient(180deg,hsla(46,52%,84%,.85),hsla(0,0%,100%,.92));border:1px solid rgba(51,75,53,.12);border-radius:20px;padding:18px;margin-bottom:22px}.login-banner-primary,.login-banner-secondary{line-height:1.6;font-size:.95rem}.login-banner-secondary{margin-top:12px;color:var(--muted)}.login-form{display:grid;grid-gap:10px;gap:10px}.login-form label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.login-form input{width:100%;border:1px solid var(--border);background:hsla(0,0%,100%,.92);border-radius:14px;padding:14px 16px;font-size:1rem;font-family:inherit;color:var(--ink);outline:none}.login-form input:focus{border-color:rgba(51,75,53,.35);box-shadow:0 0 0 4px rgba(51,75,53,.08)}.login-form button{margin-top:8px;border:0;border-radius:14px;padding:14px 16px;background:linear-gradient(135deg,var(--olive),var(--olive-deep));color:#fff;font-size:1rem;font-weight:700;cursor:pointer}.login-form button:disabled{opacity:.55;cursor:not-allowed}.login-error{border-left:3px solid var(--danger);background:#fbecec;color:var(--danger);border-radius:12px;padding:12px 14px;font-size:.92rem}.dashboard-shell{min-height:100vh;display:flex;flex-direction:column}.dash-header{background:linear-gradient(90deg,rgba(18,28,20,.95),rgba(32,47,34,.95)),var(--olive-deep);color:#fff;border-bottom:1px solid hsla(0,0%,100%,.08)}.dash-header-inner{max-width:1180px;margin:0 auto;min-height:76px;justify-content:space-between;padding:0 24px}.dash-brand,.dash-header-inner{display:flex;align-items:center;gap:16px}.dash-logo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);color:var(--sand-soft);font-weight:700;letter-spacing:.08em}.dash-title{font-size:1.15rem;font-weight:700}.dash-sub{margin-top:4px;color:hsla(0,0%,100%,.72);font-size:.9rem}.logout-btn{border:1px solid hsla(0,0%,100%,.16);background:hsla(0,0%,100%,.07);color:#fff;border-radius:999px;padding:10px 16px;font-size:.9rem;cursor:pointer}.dash-main{width:min(1180px,100%);margin:0 auto;padding:28px 24px 40px}.hero-panel{background:radial-gradient(circle at top right,hsla(46,41%,63%,.28),transparent 34%),linear-gradient(135deg,hsla(0,0%,100%,.94),hsla(45,43%,95%,.96));border:1px solid rgba(51,75,53,.12);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.hero-eyebrow{display:inline-block;margin-bottom:14px;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--olive);font-weight:700}.hero-panel h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.02;max-width:12ch}.hero-copy{margin-top:16px;max-width:68ch;line-height:1.7;color:var(--muted);font-size:1rem}.demo-grid{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:18px;gap:18px}.demo-card{background:hsla(0,0%,100%,.94);border:1px solid rgba(51,75,53,.1);border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(16,24,18,.08);display:flex;flex-direction:column}.demo-card--live{border-color:rgba(51,75,53,.28);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.demo-card--live:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(16,24,18,.14)}.demo-card-top{display:grid;grid-gap:12px;gap:12px}.demo-card h2{font-size:1.2rem;line-height:1.2}.demo-card p{margin-top:14px;color:var(--muted);line-height:1.65;font-size:.96rem}.status-badge{width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;background:hsla(46,41%,63%,.22);color:var(--olive-deep);font-size:.78rem;font-weight:700;display:flex;align-items:center;gap:6px}.status-badge--live{background:rgba(51,75,53,.12);color:var(--olive-deep)}.live-dot{width:7px;height:7px;border-radius:50%;background:#2d7a3a;display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.card-launch{margin-top:auto;padding-top:18px;font-size:.88rem;font-weight:700;color:var(--olive);letter-spacing:.04em}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tag{background:rgba(51,75,53,.08);color:var(--olive-deep);border-radius:999px;padding:7px 10px;font-size:.8rem}.dash-footer{text-align:center;font-size:.78rem;color:var(--muted);padding:0 24px 20px}@media (max-width:700px){.demo-card,.hero-panel,.login-card{border-radius:22px}.dash-header-inner{padding:16px;align-items:flex-start;flex-direction:column}.dash-main{padding:20px 16px 32px}.hero-panel{padding:24px}}