/* Soap Maker Pro CSS - All original CSS moved here */
:root{
    --smp-primary:#2563eb;
    --smp-primary-dark:#1d4ed8;
    --smp-bg:#020617;
}
html{scroll-behavior:smooth;}
body{
    margin:0;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:radial-gradient(circle at top,#1e293b,#020617 55%);
    color:#0f172a;
}
.smp-wrapper{max-width:1080px;margin:0 auto;padding:12px;}
.smp-hero-title{color:#f9fafb!important;text-shadow:0 3px 10px rgba(0,0,0,.45);font-weight:800;letter-spacing:-0.03em;}
.smp-hero-sub{color:rgba(226,232,240,.92)!important;}
.smp-glass{
    background:rgba(15,23,42,.80);
    border-radius:18px;
    border:1px solid rgba(148,163,184,.35);
    backdrop-filter:blur(16px);
}
.smp-card{
    background:#ffffff;
    border-radius:18px;
    border:1px solid #e2e8f0;
    box-shadow:0 16px 40px rgba(15,23,42,.12);
}
.smp-input,.smp-select{
    width:100%;
    padding:9px 11px;
    border-radius:14px;
    border:1px solid #cbd5e1;
    font-size:14px;
    outline:none;
    transition:border-color .16s, box-shadow .16s;
    background:#fff;
}
.smp-input:focus,.smp-select:focus{
    border-color:var(--smp-primary);
    box-shadow:0 0 0 2px rgba(37,99,235,.18);
}
.smp-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid transparent;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:background .16s,color .16s,border-color .16s,transform .08s;
    white-space:nowrap;
}
.smp-btn:active{transform:scale(.97);}
.smp-btn-primary{
    background:var(--smp-primary);
    border-color:var(--smp-primary);
    color:#fff;
}
.smp-btn-primary:hover{background:var(--smp-primary-dark);}
.smp-btn-muted{
    background:#f1f5f9;
    border-color:#e2e8f0;
    color:#0f172a;
}
.smp-btn-muted:hover{background:#e2e8f0;}
.smp-btn-warn{
    background:#fbbf24;
    border-color:#f59e0b;
    color:#111827;
}
.smp-btn-warn:hover{background:#f59e0b;}
.smp-table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:16px;
    border:1px solid #e2e8f0;
}
.smp-table{width:100%;border-collapse:collapse;font-size:13px;}
.smp-table th{
    padding:10px 8px;
    text-align:left;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    background:#f8fafc;
    color:#64748b;
    border-bottom:1px solid #e2e8f0;
    white-space:nowrap;
}
.smp-table td{
    padding:9px 8px;
    border-bottom:1px solid #e5e7eb;
    vertical-align:top;
}
.fa-bar-wrap{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden;}
.fa-bar{height:100%;border-radius:999px;transition:width .25s;}
.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;}
.smp-pill{
    border-radius:999px;
    border:1px solid #e2e8f0;
    background:#f9fafb;
    padding:3px 8px;
    font-size:11px;
}
.smp-badge{
    display:inline-flex;
    align-items:center;
    padding:2px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    border-width:1px;
    border-style:solid;
}
.smp-badge-ok{background:#ecfdf5;border-color:#bbf7d0;color:#047857;}
.smp-badge-warn{background:#fef3c7;border-color:#fbbf24;color:#92400e;}
.smp-badge-err{background:#fee2e2;border-color:#fecaca;color:#b91c1c;}

@media (max-width:768px){
    .smp-wrapper{padding:10px;}
    .smp-hero-title{font-size:1.75rem!important;}
    .smp-hero-sub{font-size:.9rem;}
    .smp-btn{width:100%;justify-content:center;}
    .smp-btn-toolbar{flex:1 1 100%;}
    .smp-toolbar-stack{flex-direction:column;align-items:stretch;}
    .smp-card{border-radius:14px;}
    .smp-input,.smp-select{font-size:16px;}
    .smp-table td,.smp-table th{padding:10px 6px;}
}

/* print */
@media print{
    body{background:#fff!important;color:#000!important;}
    .no-print{display:none!important;}
    .print-only{display:block!important;}
    .print-page{page-break-after:always;padding:14mm;}
    .print-page:last-child{page-break-after:auto;}
}
.print-only{display:none;}