:root{--bg:#f8f7f4;--bg-card:#ffffff;--bg-input:#f1f0ed;--text:#111110;--text-muted:#6b6b68;--border:#e2e1dd;--accent:#1a56db;--accent-light:#eff4ff;--danger:#e53e3e;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.08);--r-sm:10px;--r-md:16px;--r-lg:24px;--font:'Kanit',sans-serif;}
.dark{--bg:#0d0f12;--bg-card:#161a20;--bg-input:#1e232b;--text:#f0efe9;--text-muted:#8a8a85;--border:#252a33;--accent-light:#111d35;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;overflow-x:hidden;transition:background .3s,color .3s;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
button{font-family:var(--font);cursor:pointer;}
input,select,textarea{font-family:var(--font);font-size:15px;}
a{color:inherit;}
.container{max-width:1160px;margin:0 auto;padding:0 24px;}

/* GATE */
#gate{position:fixed;inset:0;z-index:99999;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-family:sans-serif;}
.dark #gate{background:#1a1a1a;}
.gate-box{background:#fff;border:1px solid #ccc;border-radius:8px;padding:32px 28px;width:320px;box-shadow:0 2px 12px rgba(0,0,0,.1);}
.dark .gate-box{background:#2a2a2a;border-color:#444;color:#eee;}
.gate-box h2{font-size:16px;font-weight:700;color:#333;margin-bottom:6px;text-align:center;}
.dark .gate-box h2{color:#eee;}
.gate-box p{font-size:13px;color:#888;text-align:center;margin-bottom:22px;}
.gate-box label{display:block;font-size:12px;color:#555;margin-bottom:4px;}
.gate-box input{width:100%;padding:9px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px;margin-bottom:14px;outline:none;box-sizing:border-box;}
.dark .gate-box input{background:#333;border-color:#555;color:#eee;}
.gate-box button{width:100%;padding:10px;background:#444;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;}
.gate-box button:hover{background:#222;}
.gate-err{font-size:12px;color:#c00;text-align:center;margin-top:10px;display:none;}

/* NAVBAR */
.navbar{position:sticky;top:0;z-index:900;height:68px;background:var(--bg);border-bottom:1px solid var(--border);transition:background .3s,border-color .3s;}
.navbar .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--text);border-radius:6px;padding:4px 6px;margin:-4px -6px;transition:opacity .3s;}
.brand:hover{opacity:.85;}
.logo-notch{fill:var(--bg);}
.logo-wordmark{fill:var(--text);}
.nav-links{display:flex;align-items:center;gap:4px;flex:1;justify-content:center;}
.nav-link{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-muted);text-decoration:none;transition:.18s;border:none;background:transparent;cursor:pointer;white-space:nowrap;}
.nav-link:hover{color:var(--text);background:var(--bg-input);}
.nav-link.active{color:var(--accent);background:var(--accent-light);}
@media(max-width:760px){.nav-links{display:none;}}
.nav-login-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-light);border:1.5px solid var(--accent);cursor:pointer;transition:.18s;white-space:nowrap;text-decoration:none;}
.nav-login-btn:hover{background:var(--accent);color:#fff;}
.navbar-controls{display:flex;align-items:center;gap:8px;}
.lang-toggle{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:3px 10px;gap:7px;cursor:pointer;user-select:none;font-size:13px;font-weight:700;transition:border-color .2s;}
.lang-toggle:hover{border-color:var(--accent);}
.lang-active{color:var(--accent);}
.lang-sep{color:var(--border);font-weight:300;}
.lang-inactive{color:var(--text-muted);}
.theme-btn{width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-size:18px;transition:border-color .2s;}
.theme-btn:hover{border-color:var(--accent);}

/* HERO */
.hero{padding:96px 24px 80px;text-align:center;}
.hero-eyebrow{display:inline-block;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent);border-radius:100px;padding:6px 18px;font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:28px;text-transform:uppercase;}
.hero h1{font-size:clamp(40px,6vw,72px);font-weight:800;line-height:1.1;letter-spacing:-.5px;margin-bottom:20px;}
.hero-sub{font-size:clamp(16px,2vw,20px);font-weight:300;color:var(--text-muted);max-width:560px;margin:0 auto 48px;line-height:1.7;}
.hero-cta{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;border:none;padding:18px 44px;border-radius:var(--r-lg);font-size:18px;font-weight:700;box-shadow:0 12px 32px rgba(26,86,219,.28);transition:transform .2s,box-shadow .2s;text-decoration:none;}
.hero-cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(26,86,219,.34);}
.page-hero{padding:56px 24px 40px;text-align:center;border-bottom:1px solid var(--border);}
.section-label{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.page-title{font-size:clamp(28px,4vw,42px);font-weight:800;margin-bottom:12px;}
.page-sub{font-size:16px;color:var(--text-muted);}

/* SERVICES */
.services-section{padding:60px 0 80px;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:700px){.services-grid{grid-template-columns:1fr;}}
.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:36px 28px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent);}
.service-icon{font-size:32px;}
.service-card h3{font-size:20px;font-weight:700;}
.service-card p{font-size:15px;color:var(--text-muted);line-height:1.7;flex:1;}
.card-link{color:var(--accent);font-weight:600;font-size:14px;text-decoration:none;}
.card-link:hover{text-decoration:underline;}

/* STATS */
.stats-section{padding:40px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
@media(max-width:600px){.stats-grid{grid-template-columns:repeat(2,1fr);}}
.stat-num{font-size:32px;font-weight:900;color:var(--accent);letter-spacing:-1px;}
.stat-label{font-size:13px;color:var(--text-muted);margin-top:4px;}

/* CTA BAND */
.cta-band{background:var(--accent);padding:60px 24px;text-align:center;color:#fff;}
.cta-band h2{font-size:28px;font-weight:800;margin-bottom:10px;}
.cta-band p{font-size:16px;opacity:.85;margin-bottom:28px;}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* BUTTONS */
.btn{height:56px;border-radius:var(--r-md);font-weight:700;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid transparent;transition:transform .15s,box-shadow .15s;cursor:pointer;padding:0 28px;text-decoration:none;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 24px rgba(26,86,219,.22);}
.btn-primary:hover{box-shadow:0 12px 30px rgba(26,86,219,.30);}
.btn-secondary{background:var(--bg-input);color:var(--text);border-color:var(--border);}
.btn-white{background:#fff;color:var(--accent);}
.btn-outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.btn-spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;}
.btn-primary.loading{opacity:.75;pointer-events:none;}
.btn-primary.loading .btn-spinner{display:inline-block;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ORDER */
.order-section{padding:60px 0 100px;}
.order-steps{display:flex;align-items:center;margin-bottom:40px;}
.step{display:flex;align-items:center;gap:10px;flex:1;}
.step:last-child{flex:none;}
.step-num{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-muted);transition:.3s;flex-shrink:0;}
.step-label{font-size:12px;font-weight:600;color:var(--text-muted);white-space:nowrap;}
.step-line{flex:1;height:2px;background:var(--border);margin:0 8px;transition:.3s;}
.step.done .step-num{background:var(--accent);border-color:var(--accent);color:#fff;}
.step.done .step-label{color:var(--accent);}
.step.active .step-num{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-light);}
.step.active .step-label{color:var(--text);}
@media(max-width:600px){.step-label{display:none;}.step-line{margin:0 4px;}}
.service-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;}
.srv-opt{padding:16px;border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);font-weight:600;font-size:15px;text-align:center;transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);}
.srv-opt:hover{border-color:var(--accent);color:var(--accent);}
.srv-opt.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.spec-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:18px 20px;margin-bottom:20px;display:none;}
.spec-panel.visible{display:block;}
.spec-panel-title{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.spec-item{display:flex;flex-direction:column;gap:3px;}
.spec-key{font-size:11px;color:var(--text-muted);}
.spec-val{font-size:13px;font-weight:700;}
.spec-tag{display:inline-block;background:var(--accent-light);color:var(--accent);border-radius:4px;padding:1px 7px;font-size:11px;font-weight:600;}
.file-hint{background:var(--accent-light);border:1px solid var(--accent);border-radius:var(--r-sm);padding:10px 16px;margin-bottom:16px;font-size:14px;font-weight:600;color:var(--accent);}
.upload-zone{position:relative;border:2px dashed var(--border);border-radius:var(--r-lg);padding:40px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:28px;}
.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent);background:var(--accent-light);}
.upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.upload-icon{font-size:32px;margin-bottom:10px;}
.upload-zone p{font-size:14px;color:var(--text-muted);}
.upload-zone strong{color:var(--accent);}
.upload-sub{font-size:13px;margin-top:4px;}
.empty-state{text-align:center;padding:48px 24px;border:2px dashed var(--border);border-radius:var(--r-lg);margin-bottom:24px;display:none;}
.empty-state.visible{display:block;}
.empty-icon{font-size:40px;margin-bottom:12px;opacity:.4;}
.empty-title{font-size:16px;font-weight:700;margin-bottom:6px;color:var(--text-muted);}
.empty-desc{font-size:13px;color:var(--text-muted);}
.order-item-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;margin-bottom:20px;box-shadow:var(--shadow-sm);animation:slideIn .3s ease;}
@keyframes slideIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.service-badge{display:inline-flex;align-items:center;background:var(--accent);color:#fff;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700;}
.item-filename{font-size:15px;font-weight:700;margin-bottom:16px;word-break:break-all;}
.item-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.delete-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border:1.5px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:.15s;}
.delete-btn:hover{background:#fff0f0;border-color:var(--danger);color:var(--danger);}
.contact-block{margin-top:32px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;}
.contact-title{font-size:18px;font-weight:700;margin-bottom:20px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
@media(max-width:600px){.contact-grid{grid-template-columns:1fr;}}
.field-label{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:5px;display:block;}
.required{color:var(--danger);}
.input-box{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-input);color:var(--text);font-size:14px;outline:none;transition:border-color .2s;appearance:none;}
.input-box:focus{border-color:var(--accent);}
.field-error{font-size:11px;color:var(--danger);margin-top:4px;display:none;}
.field-wrap.has-error .field-error{display:block;}
.field-wrap.has-error .input-box{border-color:var(--danger);}
.field-wrap.is-valid .input-box{border-color:#22c55e;}
.action-group{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px;}
@media(max-width:600px){.action-group{grid-template-columns:1fr;}}

/* MODAL */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s;}
.modal-backdrop.open{opacity:1;pointer-events:all;}
.modal{background:var(--bg-card);border-radius:var(--r-lg);padding:32px;max-width:520px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.2);transform:translateY(20px) scale(.97);transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.modal-backdrop.open .modal{transform:translateY(0) scale(1);}
.modal-title{font-size:20px;font-weight:800;margin-bottom:6px;}
.modal-sub{font-size:14px;color:var(--text-muted);margin-bottom:24px;}
.summary-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:10px 14px;background:var(--bg-input);border-radius:var(--r-sm);}
.s-name{color:var(--text-muted);font-weight:500;flex:1;}
.s-val{font-weight:700;font-size:13px;}
.modal-divider{height:1px;background:var(--border);margin:16px 0;}
.modal-actions{display:flex;gap:12px;}
.modal-actions .btn{flex:1;}

/* TRACK */
.track-section{padding:60px 0;}
.lookup-box{max-width:600px;margin:0 auto;}
.lookup-input-wrap{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--r-md);padding:12px 16px;transition:border-color .2s;}
.lookup-input-wrap:focus-within{border-color:var(--accent);}
.lookup-input{flex:1;border:none;background:transparent;font-size:15px;color:var(--text);outline:none;}
.lookup-input::placeholder{color:var(--text-muted);}
.lookup-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;}
.lookup-btn:hover{opacity:.85;}
.lookup-hint{font-size:13px;color:var(--text-muted);margin-top:8px;text-align:center;}
.result-card{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);margin-top:16px;}
.result-header{background:var(--accent);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;}
.result-header h3{color:#fff;font-size:15px;font-weight:700;margin:0;}
.result-id{color:rgba(255,255,255,.7);font-size:12px;font-weight:600;letter-spacing:1px;}
.result-body{background:var(--bg-card);padding:20px;}
.result-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;font-size:13px;font-weight:700;}
.status-dot-sm{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;}
.items-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:20px;}
.items-table th{text-align:left;padding:8px 12px;background:var(--bg-input);color:var(--text-muted);font-size:11px;font-weight:600;}
.items-table td{padding:8px 12px;border-bottom:1px solid var(--border);}
.tl-step{display:flex;gap:14px;align-items:flex-start;}
.tl-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;}
.tl-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.tl-dot.done{background:var(--accent);border-color:var(--accent);color:#fff;}
.tl-dot.active{border-color:var(--accent);box-shadow:0 0 0 4px rgba(36,87,255,.15);}
.tl-conn{width:2px;height:28px;background:var(--border);margin:2px 0;}
.tl-conn.done{background:var(--accent);}
.tl-content{padding:4px 0 28px;}
.tl-label{font-size:14px;font-weight:600;}
.tl-sub{font-size:12px;color:var(--text-muted);margin-top:2px;}
.result-cta{display:block;text-align:center;margin-top:16px;padding:11px;background:var(--bg-input);border-radius:var(--r-sm);color:var(--accent);font-weight:700;font-size:14px;text-decoration:none;}
.result-cta:hover{background:var(--accent-light);}
.status-legend{max-width:600px;margin:40px auto 0;}
.status-legend h3{font-size:14px;font-weight:600;color:var(--text-muted);margin-bottom:12px;}
.status-legend-grid{display:flex;flex-wrap:wrap;gap:12px;}
.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;}
.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.status-dot.production{background:#8a4f00;}.status-dot.ready{background:#155724;}
.status-dot.new{background:#856404;}.status-dot.reviewing{background:#0a58ca;}
.status-dot.quoted{background:#6f3fb5;}.status-dot.confirmed{background:#0c5460;}
.status-dot.delivered{background:#383d41;}

/* FAQ */
.faq-section{padding:60px 0;}
.faq-category{max-width:760px;margin:0 auto 40px;}
.faq-cat-title{font-size:18px;font-weight:700;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--border);}
.faq-list{display:flex;flex-direction:column;gap:8px;}
.faq-item{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--bg-card);}
.faq-q{width:100%;text-align:left;padding:18px 20px;font-size:15px;font-weight:600;background:transparent;border:none;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;}
.faq-q:hover{background:var(--bg-input);}
.faq-chevron{flex-shrink:0;transition:transform .25s;color:var(--text-muted);}
.faq-item.open .faq-chevron{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;font-size:14px;color:var(--text-muted);line-height:1.8;padding:0 20px;}
.faq-item.open .faq-a{max-height:400px;padding:0 20px 18px;}
.faq-a strong{color:var(--text);}
.faq-cta{max-width:760px;margin:0 auto;text-align:center;padding:40px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);}
.faq-cta h3{font-size:22px;font-weight:800;margin-bottom:8px;}
.faq-cta p{color:var(--text-muted);margin-bottom:24px;}
.faq-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* DASHBOARD / PORTAL */
.portal-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 68px);}
@media(max-width:768px){.portal-layout{grid-template-columns:1fr;}}
.sidebar{background:var(--bg-card);border-right:1px solid var(--border);padding:24px 0;}
.sidebar-menu{list-style:none;}
.sidebar-item a{display:flex;align-items:center;gap:10px;padding:10px 20px;font-size:14px;font-weight:600;color:var(--text-muted);text-decoration:none;transition:.18s;}
.sidebar-item a:hover,.sidebar-item a.active{color:var(--accent);background:var(--accent-light);}
.portal-main{padding:32px 24px;}
.portal-title{font-size:22px;font-weight:800;margin-bottom:24px;}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;}
@media(max-width:700px){.card-grid{grid-template-columns:1fr 1fr;}}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:20px;text-align:center;}
.stat-card .num{font-size:28px;font-weight:900;color:var(--accent);}
.stat-card .lbl{font-size:12px;color:var(--text-muted);margin-top:4px;}
.data-table{width:100%;border-collapse:collapse;font-size:14px;}
.data-table th{text-align:left;padding:10px 14px;background:var(--bg-input);font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.3px;}
.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);}
.data-table tr:last-child td{border-bottom:none;}
.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700;}
.badge-prod{background:#fff0d4;color:#8a4f00;}
.badge-ready{background:#d4edda;color:#155724;}
.badge-new{background:#fff3cd;color:#856404;}
.badge-done{background:#e2e3e5;color:#383d41;}

/* TOAST */
#toast-container{position:fixed;bottom:24px;right:24px;z-index:9998;display:flex;flex-direction:column;gap:10px;pointer-events:none;}
.toast{display:flex;align-items:flex-start;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 18px;box-shadow:0 8px 32px rgba(0,0,0,.16);font-size:14px;max-width:340px;pointer-events:all;animation:toastIn .3s cubic-bezier(.34,1.56,.64,1);}
.toast.leaving{animation:toastOut .25s ease forwards;}
@keyframes toastIn{from{opacity:0;transform:translateY(16px) scale(.95);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes toastOut{to{opacity:0;transform:translateY(8px) scale(.97);}}
.toast-icon{font-size:18px;flex-shrink:0;}
.toast-title{font-weight:700;margin-bottom:2px;}
.toast-msg{color:var(--text-muted);font-size:13px;}
.toast.success{border-left:4px solid #22c55e;}
.toast.error{border-left:4px solid var(--danger);}
.toast.info{border-left:4px solid var(--accent);}

/* FOOTER */
.footer{background:var(--bg-card);border-top:1px solid var(--border);padding:48px 0 36px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px;}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;gap:24px;}}
.footer-brand{font-size:22px;font-weight:900;color:var(--accent);letter-spacing:1px;margin-bottom:10px;}
.footer-desc{font-size:14px;color:var(--text-muted);line-height:1.7;}
.footer-col h4{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;}
.footer-col p{font-size:14px;line-height:1.8;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-links a{font-size:14px;color:var(--text-muted);text-decoration:none;}
.footer-links a:hover{color:var(--accent);}
.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-muted);flex-wrap:wrap;gap:12px;}
.footer-bottom-links{display:flex;gap:16px;flex-wrap:wrap;}
.footer-bottom-links a{font-size:12px;color:var(--text-muted);text-decoration:none;}
.footer-bottom-links a:hover{color:var(--accent);}