.tag--mes{background:rgba(37,99,235,0.1);color:#2563eb}
.tag--wms{background:rgba(5,150,105,0.1);color:#059669}
.tag--portal{background:rgba(124,58,237,0.1);color:#7c3aed}
.tag--security{background:rgba(220,38,38,0.1);color:#dc2626}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 1.5rem;border-radius:var(--radius);font-weight:500;cursor:pointer;border:none;outline:none;transition:all 0.2s;font-size:1rem}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,0.3)}
.btn--primary{background:var(--color-primary);color:var(--color-white)}
.btn--primary:hover{background:var(--color-primary-dark);color:var(--color-white)}
.btn--accent{background:var(--color-accent);color:var(--color-white)}
.btn--accent:hover{background:#047857;color:var(--color-white)}
.btn--outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}
.btn--outline:hover{background:var(--color-primary);color:var(--color-white)}
.btn--ghost{background:transparent;border:1px solid rgba(255,255,255,0.25);color:rgba(255,255,255,0.85)}
.btn--ghost:hover{border-color:rgba(255,255,255,0.5);color:#fff;background:rgba(255,255,255,0.08)}
.btn--lg{padding:1rem 2rem;font-size:1.125rem}
.btn--full{width:100%}
.author-photo{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#1e3a5f,#2563eb);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:2rem;overflow:hidden;position:relative;flex-shrink:0}
.author-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.author-photo--sm{width:48px;height:48px;font-size:0.875rem}
.author-photo--md{width:80px;height:80px;font-size:1.5rem}
.form__group{margin-bottom:1rem}
.form__label{display:block;margin-bottom:0.5rem;font-weight:500;font-size:0.875rem}
.form__input,.form__textarea,.form__select{width:100%;padding:0.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;transition:border-color 0.2s}
.form__input:focus,.form__textarea:focus,.form__select:focus{outline:none;border-color:var(--color-primary)}
.form__textarea{resize:vertical;min-height:100px}
.form__privacy{font-size:0.75rem;color:var(--color-gray);text-align:center;margin-top:1rem}
.cases__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}
.cases__grid--full{grid-template-columns:repeat(3,1fr)}
@media (max-width:1024px){.cases__grid--full{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){.cases__grid--full{grid-template-columns:1fr}
}
.case-card{background:var(--color-white);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--color-border)}
.case-card--large{grid-column:1 / -1}
.case-card__tags{display:flex;gap:0.5rem;margin-bottom:1rem}
.tag{background:var(--color-gray-light);padding:0.25rem 0.75rem;border-radius:100px;font-size:0.75rem;font-weight:500;color:var(--color-gray)}
.case-card__title{margin-bottom:1rem}
.case-card__desc{color:var(--color-gray);margin-bottom:1.5rem}
.case-card__link{font-weight:500}
.tag--erp{background:rgba(217,119,6,0.1);color:#b45309}
.tag--logistics{background:rgba(6,182,212,0.1);color:#0e7490}
.form__input--error,.form__textarea--error{border-color:#ef4444 !important;background:#fff5f5}
.form__error-msg{font-size:0.8125rem;color:#ef4444;margin-top:0.25rem;display:none}
.form__error-msg.visible{display:block}
.hero-v2__field input.field--error{border-color:#ef4444;background:#fff5f5}
.form-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);background:#1f2937;color:#fff;border-radius:10px;padding:0.875rem 1.5rem;font-size:0.9375rem;font-weight:500;z-index:9999;opacity:0;pointer-events:none;transition:opacity 0.3s,transform 0.3s;display:flex;align-items:center;gap:0.625rem;box-shadow:0 8px 24px rgba(0,0,0,0.25);white-space:normal;max-width:calc(100vw - 2rem)}
.form-toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:all}
.form-toast--error{background:#dc2626}
.form-toast--success{background:#059669}
.form-toast svg{flex-shrink:0}
.section--dark .cta__content{text-align:center;max-width:640px;margin:0 auto}
.section--dark .cta__title{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;color:#fff;margin-bottom:1rem;line-height:1.2}
.section--dark .cta__desc{font-size:1.0625rem;color:rgba(255,255,255,0.7);margin-bottom:2rem;line-height:1.6}
.section--dark .cta__trust{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}
.section--dark .cta__trust-item{display:flex;align-items:center;gap:0.4rem;font-size:0.875rem;color:rgba(255,255,255,0.6)}
.section--dark .cta__trust-item svg{color:#4ade80;flex-shrink:0}
.blog__categories{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}
.blog__categories .btn{padding:0.5rem 1.25rem;font-size:0.9375rem;font-weight:500;border-radius:2rem}
.blog__categories .btn--outline{border-width:1.5px;color:#6b7280;border-color:#d1d5db}
.blog__categories .btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary);background:transparent}
.blog__categories .btn--primary{background:var(--color-primary);color:#fff;border:1.5px solid var(--color-primary)}
.modal{display:none;position:fixed;inset:0;z-index:1000}
.modal.active{display:block}
.modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.5)}
.modal__content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-white);padding:2rem;border-radius:var(--radius-lg);max-width:500px;width:90%;max-height:90vh;overflow-y:auto}
.modal__close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-gray)}
.modal__title{margin-bottom:1.5rem}
.floating-panel{position:fixed;right:1.5rem;bottom:1.5rem;z-index:200;display:flex;flex-direction:column;align-items:flex-end;gap:0.75rem}
.floating-panel__toggle{gap:0.625rem;border-radius:100px;padding:0.875rem 1.5rem;font-size:0.9375rem;font-weight:600;box-shadow:0 8px 24px rgba(37,99,235,0.4);transition:background 0.2s,box-shadow 0.2s,transform 0.15s}
.floating-panel__toggle:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(37,99,235,0.5)}
.floating-panel__icon-close{display:none}
.floating-panel.open .floating-panel__icon-open{display:none}
.floating-panel.open .floating-panel__icon-close{display:block}
.floating-panel.open .floating-panel__label{display:none}
.floating-panel__menu{display:none;flex-direction:column;gap:0.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1.25rem;min-width:220px;box-shadow:0 16px 48px rgba(0,0,0,0.15);animation:panel-appear 0.2s ease}
.floating-panel.open .floating-panel__menu{display:flex}
@keyframes panel-appear{from{opacity:0;transform:translateY(8px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.floating-panel__menu-title{font-size:0.8125rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.375rem}
.floating-panel__menu-item{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;border-radius:10px;font-size:0.9375rem;font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:background 0.15s;width:100%}
.floating-panel__menu-item--primary{background:#eff6ff;color:#2563eb}
.floating-panel__menu-item--primary:hover{background:#dbeafe}
.floating-panel__menu-item--tg{background:rgba(0,136,204,0.08);color:#0088cc}
.floating-panel__menu-item--tg:hover{background:rgba(0,136,204,0.15)}
.floating-panel__menu-item--wa{background:rgba(37,211,102,0.08);color:#25d366}
.floating-panel__menu-item--wa:hover{background:rgba(37,211,102,0.15)}
