/* BUTTONS */
.btn{
    font-family:var(--font-pixel);
    font-size:0.95rem;
    padding:14px 28px;
    border:1px solid var(--green-dark);
    background:transparent;
    color:var(--green);
    cursor:pointer;
    display:inline-flex;align-items:center;
    gap:8px;
    transition:all var(--dur) ease;
    position:relative;overflow:hidden;
    letter-spacing:1px;white-space:nowrap;
}
.btn::before{
    content:'';position:absolute;top:0;left:-100%;
    width:100%;height:100%;
    background:linear-gradient(90deg,transparent,var(--green-glow),transparent);
    transition:left var(--dur-slow) ease;
}
.btn:hover::before{left:100%}
.btn:hover{
    border-color:var(--green);
    box-shadow:0 0 20px var(--green-glow),inset 0 0 20px var(--green-glow);
    transform:translateY(-2px);
}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--green-glow);border-color:var(--green-dim)}
.btn-primary:hover{background:rgba(0,255,65,0.18)}
.btn-outline{border-color:var(--border);color:var(--text2)}
.btn-outline:hover{color:var(--green);border-color:var(--green)}
.btn-glow{animation:glowPulse 3s infinite}
.btn-glow:hover{animation:none}
.btn-small{font-size:0.78rem;padding:8px 14px}

.btn-basic-outline{border-color:var(--green-dark);color:var(--green)}
.btn-standard-outline{border-color:var(--yellow-dim);color:var(--yellow)}
.btn-premium-outline{border-color:var(--red-dim);color:var(--red)}
.btn-standard-outline:hover{box-shadow:0 0 20px var(--yellow-glow);border-color:var(--yellow)}
.btn-premium-outline:hover{box-shadow:0 0 20px var(--red-glow);border-color:var(--red)}
.btn-submit{width:100%;justify-content:center;font-size:1.05rem;padding:16px;margin-top:20px}

/* BADGES */
.template-badge{
    position:absolute;top:12px;right:12px;z-index:5;
    font-family:var(--font-pixel);font-size:0.8rem;
    padding:5px 12px;letter-spacing:1px;
}
.badge-basic{background:rgba(0,255,65,0.1);color:var(--green);border:1px solid var(--green-dark)}
.badge-standard{background:var(--yellow-glow);color:var(--yellow);border:1px solid var(--yellow-dim)}
.badge-premium{background:var(--red-glow);color:var(--red);border:1px solid var(--red-dim)}

/* TAGS */
.template-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.tag{
    font-family:var(--font-pixel);font-size:0.7rem;
    color:var(--text-dim);border:1px solid var(--border-dim);
    padding:3px 7px;
    transition:all var(--dur-fast) ease;
}
.tag:hover{color:var(--green);border-color:var(--border)}

/* STATUS */
.status-dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--green);
    animation:beepPulse 2s infinite;
    flex-shrink:0;
}

/* TERMINAL PARTS */
.terminal-dots{display:flex;gap:6px}
.terminal-dot{width:10px;height:10px;border-radius:50%}
.dot-red{background:#ff5f57}
.dot-yellow{background:#ffbd2e}
.dot-green{background:#28c840}
.terminal-title{font-family:var(--font-mono);font-size:0.72rem;color:var(--text-muted)}
.terminal-title-right{font-family:var(--font-mono);font-size:0.68rem;color:var(--text-dark)}

/* PAYMENT NOTICE */
.payment-notice{
    font-family:var(--font-pixel);font-size:0.9rem;
    color:var(--amber);
    text-align:center;
    padding:14px 24px;
    border:1px solid rgba(255,170,0,0.2);
    background:rgba(255,170,0,0.04);
    margin:0 auto 40px;
    max-width:550px;
    letter-spacing:2px;
}