body{
    background:#f5f7fb;
    color:#1f2937;
    padding-bottom:72px;
}
.app-shell{display:flex;min-height:100vh}
.sidebar{
    width:260px;background:#0f172a;color:#fff;padding:20px 14px;position:sticky;top:0;height:100vh
}
.brand{display:flex;align-items:center;gap:12px;padding:10px 10px 18px}
.brand-badge{
    width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#2563eb,#0ea5e9);
    display:flex;align-items:center;justify-content:center;font-weight:800
}
.brand-title{font-weight:800;line-height:1}
.brand-subtitle{font-size:12px;color:#94a3b8}
.sidebar .nav-link{
    color:#cbd5e1;border-radius:14px;padding:12px 14px;font-weight:600;display:flex;gap:10px;align-items:center
}
.sidebar .nav-link.active,.sidebar .nav-link:hover{background:#1e293b;color:#fff}
.main-content{flex:1;min-width:0}
.topbar{
    display:flex;justify-content:space-between;align-items:center;padding:22px 24px 10px;gap:16px
}
.page-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:700}
.page-title{font-size:28px;font-weight:800;margin:0}
.content-wrap{padding:0 24px 24px}
.card-soft{
    border:0;border-radius:22px;box-shadow:0 10px 30px rgba(15,23,42,.06)
}
.metric-card{
    background:linear-gradient(180deg,#ffffff,#f8fbff);
    border:1px solid #e5eefc;border-radius:22px;padding:18px
}
.metric-value{font-size:30px;font-weight:800}
.metric-label{color:#64748b;font-weight:600}
.section-card{border:0;border-radius:24px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.section-card .card-header{
    background:#fff;border-bottom:1px solid #eef2f7;border-radius:24px 24px 0 0;padding:16px 18px;font-weight:800
}
.table-modern{margin:0}
.table-modern thead th{
    font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;border-bottom:1px solid #e5e7eb;background:#f8fafc
}
.table-modern td,.table-modern th{padding:.8rem .75rem;vertical-align:middle}
.form-control,.form-select{border-radius:14px;padding:.75rem .9rem;border-color:#dbe2ea}
.btn{border-radius:14px;font-weight:700}
.btn-primary{background:#2563eb;border-color:#2563eb}
.badge-soft{background:#eff6ff;color:#1d4ed8;padding:.45rem .7rem;border-radius:999px}
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.module-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.module-link{
    background:#fff;border:1px solid #e8edf5;border-radius:20px;padding:18px;text-decoration:none;color:inherit
}
.module-link:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(15,23,42,.06)}
.mobile-nav{
    position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #e5e7eb;
    display:grid;grid-template-columns:repeat(5,1fr);z-index:1030
}
.mobile-nav a{
    text-align:center;padding:10px 4px;color:#475569;text-decoration:none;font-size:12px
}
.mobile-nav i{display:block;font-size:18px;margin-bottom:4px}
.toolbar{display:flex;justify-content:space-between;align-items-center;gap:12px;flex-wrap:wrap}
.inline-rows .row-item{
    display:grid;grid-template-columns:2fr 2fr 1fr 1fr auto;gap:10px;margin-bottom:10px
}
@media (max-width: 991.98px){
    .content-wrap,.topbar{padding-left:14px;padding-right:14px}
    .quick-grid,.module-links{grid-template-columns:repeat(2,minmax(0,1fr))}
    .inline-rows .row-item{grid-template-columns:1fr}
    .page-title{font-size:24px}
}

.mobile-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px}
.mobile-tabs a{white-space:nowrap;padding:.65rem .85rem;border-radius:999px;background:#fff;border:1px solid #e5e7eb;text-decoration:none;color:#334155;font-weight:700}.mobile-tabs a.active{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.wizard-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.wizard-step{flex:1;min-width:120px;padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid #e5e7eb;font-weight:700;color:#475569}.wizard-step.active{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.print-sheet{background:#fff;padding:24px}.print-header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #111827;padding-bottom:12px;margin-bottom:16px}.print-company{font-size:22px;font-weight:900}.print-title{font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:#475569;font-weight:700}.print-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.print-card{border:1px solid #e5e7eb;border-radius:16px;padding:12px}.print-card-wide{grid-column:span 2}.print-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:700}.print-value{font-size:15px;font-weight:800}.print-table th,.print-table td{padding:10px;border-bottom:1px solid #e5e7eb}.thermal .print-sheet{width:80mm;max-width:80mm;padding:8px;margin:0 auto;font-size:12px}.thermal .print-header{display:block;text-align:center}.thermal .print-company{font-size:16px}.thermal .print-grid{grid-template-columns:1fr;gap:8px}.thermal .print-card,.thermal .print-card-wide{grid-column:span 1}.thermal .print-table th,.thermal .print-table td{padding:4px 0;font-size:11px}
@media print{.sidebar,.topbar,.mobile-nav,.mobile-tabs,.no-print{display:none !important}.content-wrap{padding:0}.section-card{box-shadow:none;border:0}}
