/* Rasd Tabler foundation v1.6.0
   Lightweight local UI layer compatible with common Tabler/Bootstrap class names.
   It keeps the app working offline and prepares modules for a full Tabler swap later. */
:root{--tblr-blue:#206bc4;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-white:#fff;--tblr-gray-50:#f8fafc;--tblr-gray-100:#f1f5f9;--tblr-gray-200:#e2e8f0;--tblr-gray-300:#cbd5e1;--tblr-gray-500:#64748b;--tblr-gray-700:#334155;--tblr-gray-900:#0f172a;--tblr-border-radius:12px;--tblr-border-radius-lg:18px;--tblr-shadow:0 10px 30px rgba(15,23,42,.08)}
.page{min-height:100vh;background:var(--bg,#f4f7fb)}.page-wrapper{padding:18px 24px}.page-header{margin-bottom:16px}.page-pretitle{font-size:.73rem;color:var(--muted,#64748b);font-weight:700;letter-spacing:.02em}.page-title{font-weight:800}.card{border:1px solid var(--line,#e5edf6);border-radius:var(--tblr-border-radius-lg);box-shadow:var(--tblr-shadow);background:var(--panel,#fff)}.card-header{background:transparent;border-bottom:1px solid var(--line,#e5edf6);padding:14px 16px}.card-title{margin:0;font-weight:800;font-size:1rem}.card-body{padding:16px}.card-footer{background:var(--soft,#f8fafc);border-top:1px solid var(--line,#e5edf6);border-radius:0 0 var(--tblr-border-radius-lg) var(--tblr-border-radius-lg)}.card-sm .card-body{padding:12px}.table-vcenter>:not(caption)>*>*{vertical-align:middle}.table-nowrap th,.table-nowrap td{white-space:nowrap}.badge{font-weight:800;border-radius:999px}.status-dot{width:.55rem;height:.55rem;border-radius:50%;display:inline-block;margin-inline-end:.35rem}.status-green{background:var(--tblr-green)}.status-red{background:var(--tblr-red)}.status-yellow{background:var(--tblr-yellow)}.status-blue{background:var(--tblr-blue)}.status-gray{background:var(--tblr-gray-500)}.avatar{width:2.4rem;height:2.4rem;border-radius:50%;display:inline-grid;place-items:center;background:var(--soft,#f8fafc);border:1px solid var(--line,#e5edf6);font-weight:800;color:var(--primary,#0f766e)}.avatar-sm{width:2rem;height:2rem;font-size:.75rem}.avatar-lg{width:3.5rem;height:3.5rem;font-size:1.35rem}.btn-icon{width:2.05rem;height:2.05rem;padding:0;display:inline-flex;align-items:center;justify-content:center}.datagrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.datagrid-item{padding:10px 12px;border:1px solid var(--line,#e5edf6);border-radius:14px;background:var(--soft,#f8fafc)}.datagrid-title{font-size:.72rem;color:var(--muted,#64748b);font-weight:800}.datagrid-content{font-weight:800;margin-top:3px}.empty{border:1px dashed var(--line,#e5edf6);border-radius:18px;padding:36px 16px;text-align:center;background:var(--panel,#fff);color:var(--muted,#64748b)}.nav-bordered{border-bottom:1px solid var(--line,#e5edf6);gap:.25rem}.nav-bordered .nav-link{border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted,#64748b);font-weight:800}.nav-bordered .nav-link.active,.nav-bordered .nav-link:hover{border-bottom-color:var(--primary,#0f766e);color:var(--primary,#0f766e);background:transparent}.dropdown-menu-card{padding:0;border-radius:18px;overflow:hidden}.text-secondary{color:var(--muted,#64748b)!important}.subheader{font-size:.72rem;text-transform:none;letter-spacing:.02em;color:var(--muted,#64748b);font-weight:800}.ribbon{position:absolute;top:12px;inset-inline-end:-6px;background:var(--primary,#0f766e);color:#fff;border-radius:999px 0 0 999px;padding:4px 12px;font-size:.72rem;font-weight:800}.page-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.page-tabs a{white-space:nowrap;text-decoration:none;border:1px solid var(--line,#e5edf6);background:var(--panel,#fff);border-radius:999px;padding:8px 12px;font-weight:800;color:var(--ink,#162033)}.page-tabs a.active,.page-tabs a:hover{background:var(--primary,#0f766e);border-color:var(--primary,#0f766e);color:#fff}.kpi-card{position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;inset-inline-end:-35px;top:-35px;width:105px;height:105px;border-radius:50%;background:color-mix(in srgb,var(--primary,#0f766e) 10%,transparent)}.kpi-label{color:var(--muted,#64748b);font-weight:800;font-size:.75rem}.kpi-value{font-weight:900;font-size:1.35rem}.kpi-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary,#0f766e) 12%,#fff);color:var(--primary,#0f766e);font-size:1.35rem}.list-group-flush .list-group-item{border-color:var(--line,#e5edf6)}.module-shell,.report-shell{display:grid;gap:14px}.module-hero{overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--primary,#0f766e) 11%,#fff),#fff)}.module-hero .module-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line,#e5edf6);background:#fff;border-radius:999px;padding:5px 10px;font-weight:800;color:var(--muted,#64748b);font-size:.73rem}.signature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:18px}.signature-box{border:1px solid var(--line,#e5edf6);border-radius:14px;padding:12px;background:var(--soft,#f8fafc);min-height:68px}.signature-title{font-weight:800;font-size:.78rem;color:var(--muted,#64748b)}.signature-line{border-top:1px dashed var(--muted,#64748b);margin-top:22px}.print-sheet{max-width:980px;margin:0 auto;background:#fff;color:#111;padding:26px}.print-header{display:flex;justify-content:space-between;gap:18px;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:16px}.print-title{font-size:1.4rem;font-weight:900}.print-meta{font-size:.82rem;color:#555}.print-footer{margin-top:18px;border-top:1px solid #ddd;padding-top:12px;color:#555;font-size:.78rem}@media print{.page-wrapper{padding:0}.card,.panel{box-shadow:none!important;border:0!important}.no-print,.btn,.page-tabs,.app-navbar,.top-shell{display:none!important}.print-sheet{padding:0;max-width:none}.signature-box{break-inside:avoid}}
