:root{--bs-primary:#0a6880;--bs-primary-rgb:10,104,128;--bs-body-font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--bs-body-color:#20394d;--bs-border-color:#d9e5ed;--erp20-navy:#112e43;--erp20-muted:#62798b;--erp20-bg:#f3f6f9;--erp20-shadow:0 8px 28px #163a5208;--erp20-radius:18px}body{background:var(--erp20-bg);text-rendering:optimizeLegibility}a{text-underline-offset:4px}.main{min-width:0}.main>section,.main>.content{min-width:0}.card,.panel,.module-card,.chart-card,.metric-card{border:1px solid #d9e5ed;border-radius:var(--erp20-radius)!important;box-shadow:var(--erp20-shadow)}.row:not(.bs-grid){--bs-gutter-x:0}.row:not(.bs-grid)>*{width:auto;max-width:100%;flex-shrink:initial;margin-top:0;padding:0}.row.bs-grid{align-items:stretch}.erp20-hero{background:var(--erp20-navy);color:white;border-radius:21px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 27px;position:relative;overflow:hidden}.erp20-hero h1{font-size:clamp(27px,3vw,38px);line-height:1.15;margin:10px 0;letter-spacing:-.04em}.erp20-hero p{color:#bdd2df;max-width:730px;margin-bottom:0;font-size:14px}.erp20-kicker{color:#74c1d2;font-size:10px;font-weight:800;letter-spacing:.15em}.card .erp20-kicker{color:#14748c}.erp20-value{font-size:34px;line-height:1.2;letter-spacing:-1px;display:block;margin:15px 0;color:#18384b}.btn-primary{--bs-btn-bg:#087a94;--bs-btn-border-color:#087a94;--bs-btn-hover-bg:#07647b;--bs-btn-hover-border-color:#07647b;--bs-btn-active-bg:#07647b;--bs-btn-active-border-color:#07647b}.btn-outline-primary{--bs-btn-color:#086b83;--bs-btn-border-color:#aacbd7;--bs-btn-hover-bg:#086b83;--bs-btn-hover-border-color:#086b83}.btn{border-radius:10px;padding:10px 16px;font-weight:650;font-size:13px;min-height:41px}.btn-sm{padding:7px 11px;min-height:35px}.card h2{font-size:22px;letter-spacing:-.035em;font-weight:750;margin-bottom:18px}.table{--bs-table-bg:transparent;--bs-table-color:#28465a;--bs-table-border-color:#e0e9ef;font-size:13px;margin-bottom:12px}.table>:not(caption)>*>*{padding:14px 12px}.table thead th{background:#f1f6f8;color:#537083;font-size:10px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #d6e3eb}.table tbody tr:hover{--bs-table-bg:#f8fbfc}.table-responsive{border:1px solid #dfE8ee;border-radius:12px;margin:12px 0 20px}.erp20-empty{padding:35px!important;color:#748899;text-align:center}.form-control,.form-select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select,textarea{font-size:14px;border:1px solid #b9cdd9;border-radius:10px;padding:11px 13px;min-height:44px;color:#17394d;background:#fff;max-width:100%}.form-control:focus,.form-select:focus,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #0a7b9320!important;outline:none;border-color:#0a7b93!important}form p{margin-bottom:18px}label{font-size:12px;font-weight:700;color:#456477;margin-bottom:7px}.helptext{font-size:12px;color:#647d8e}.erp20-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.erp20-fields p:has(textarea){grid-column:1/-1}.erp20-line-table input{min-width:105px}.erp20-line-table td:first-child input{min-width:220px}.erp20-line-table td:last-child input{min-width:18px}.erp20-line-table input[type=checkbox]{width:18px}.progress{height:7px;--bs-progress-bg:#e7eff3;--bs-progress-bar-bg:#16849d;border-radius:10px}.badge{text-wrap:wrap;line-height:1.4}.erp20-toolnav{margin:10px 0 22px;display:flex;gap:9px;flex-wrap:wrap}.erp20-toolnav a{background:white;border:1px solid #d0e1ea;color:#175b78;padding:9px 13px;border-radius:9px;font-size:12px;font-weight:650;text-decoration:none}.erp20-toolnav a:hover{background:#eaf5f7;border-color:#92c8d4}.sidebar .erp20-toolnav{display:block;padding:0 5px}.sidebar .erp20-toolnav a{display:block;background:transparent;color:#d1e5ee;border-color:#35556a;margin:7px 0}.topbar{border-bottom:1px solid #d9e5ed;background:#fff}.module-card:hover{transform:translateY(-2px);border-color:#9bc8d6;box-shadow:0 12px 32px #173d5510}.module-card{transition:transform .16s,border-color .16s,box-shadow .16s}.errorlist{border-left:3px solid #bc4960;padding:10px 10px 10px 25px;border-radius:8px;background:#fff2f4;color:#a03048;font-size:13px}.diagnostic-detail{background:#101f2c;color:#d5e5f1;padding:24px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:600px;overflow:auto}a:focus-visible,button:focus-visible{outline:3px solid #4da1b6;outline-offset:3px}.table-visible-filter{max-width:340px;margin:12px 0}.form-check-input{accent-color:#0b7b92}body .sidebar{background:#102f43}body .sidebar a{line-height:1.55}.caption{line-height:1.6}@media(max-width:767px){.erp20-hero{padding:25px 22px;align-items:flex-start;flex-direction:column}.erp20-fields{display:block}.erp20-hero h1{font-size:28px}.card.p-4{padding:21px!important}.erp20-value{font-size:29px}.table{font-size:12px}.form-control,.form-select,input,select,textarea{font-size:16px!important}.erp20-toolnav{gap:7px}.erp20-toolnav a{padding:8px 10px}.row.bs-grid{--bs-gutter-x:1rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Legacy themes used .small for action pills; Bootstrap uses it for text. */
.page .small:not(a):not(button),.main p.small,.main div.small,.main span.small,.main .card .small{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;transform:none!important;filter:none!important;white-space:normal!important;color:#607889!important;line-height:1.65!important;font-weight:400!important;overflow:visible!important;text-overflow:clip!important}
.page .erp20-hero h1,.main .erp20-hero h1{color:#fff!important}.page .erp20-hero p,.main .erp20-hero p{color:#c4dbe5!important}.page .erp20-hero .erp20-kicker{color:#8acbd8!important}
.carillia-page-content,.ce-enter,.ce-visible,.module-card,.metric,.welcome-ribbon{animation:none!important;opacity:1!important;transform:none!important}.card .erp20-kicker{white-space:normal}.erp20-hero .btn-light{color:#18384b!important;background:#fff!important}

/* 2.0.1 — visual hierarchy, local Bootstrap, accessible motion */
:root{--c21-ink:#182d4b;--c21-teal:#087f8c;--c21-violet:#6254c7;--c21-line:#dce5f0;--c21-radius:20px}
body{background:radial-gradient(ellipse at 95% 0%,#e8e5ff 0,transparent 38%),radial-gradient(ellipse at 0% 40%,#e1f3f5 0,transparent 38%),#f4f7fc!important;color:var(--c21-ink)}
body .hero,body .module-hero,body .erp20-hero{background:linear-gradient(118deg,#132d4b 0%,#255779 58%,#4f46a5 100%)!important;border:1px solid #ffffff25;box-shadow:0 16px 42px #14325218;border-radius:24px!important;padding:clamp(24px,4vw,46px)!important;position:relative;overflow:hidden}
body .hero h1,body .module-hero h1{color:white!important;letter-spacing:-.045em;font-weight:750}body .hero p,body .module-hero p{color:#e0ebfa!important;line-height:1.8}body .hero a,body .module-hero .secondary{background:#ffffff12!important;border:1px solid #ffffff55!important;color:#fff!important;padding:11px 16px;border-radius:12px}body .hero a:hover,body .module-hero .secondary:hover{background:#ffffff25!important}
body .panel,body .card,body .erp-module{border-radius:var(--c21-radius);box-shadow:0 5px 22px #263c6510;border-color:var(--c21-line)}
body .erp-module{padding:26px;gap:16px;transition:box-shadow .2s,transform .2s,border-color .2s;border-width:2px;position:relative}
body .erp-module:hover{transform:translateY(-4px);box-shadow:0 18px 38px #1c32551a}body .erp-module.is-active{border-color:#249e72;background:linear-gradient(145deg,#eaf9f1,#fff 65%)}body .erp-module.is-inactive{border-color:#cf7183;background:linear-gradient(145deg,#fff4f6,#fff 65%)}
.module-symbol{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#e4e8ff,#d7f3f4);color:#365086;display:grid;place-items:center;font-size:23px;font-weight:800}.is-active .module-symbol{background:#d5f2e3;color:#126343}.license-installed{padding:9px 12px;background:#dcf5e7;border-radius:10px;color:#126143;font-weight:700;font-size:12px}
body button,body .primary,body .btn-primary{background:linear-gradient(115deg,#087f8c,#285eab);border-color:#196b91;color:white;border-radius:11px;min-height:43px;font-weight:700;box-shadow:0 3px 9px #1c60991c;transition:box-shadow .16s,filter .16s}body button:hover,body .primary:hover{filter:brightness(1.07);box-shadow:0 6px 16px #1c60992b}body .secondary,body button.secondary{background:#f1f5fc;color:#2c4b78;border-color:#c9d9e9;box-shadow:none}body button:disabled{filter:none;box-shadow:none}
body table{border-collapse:separate;border-spacing:0;line-height:1.65}body table th{background:#eef3fc!important;color:#455c7e!important;font-size:11px;letter-spacing:.065em;padding:15px!important;position:sticky;top:0;z-index:1}body table td{padding:16px 15px!important;border-color:#e7edf5!important}body table tbody tr:nth-child(even){background:#f8faff}body table tbody tr:hover{background:#edf6fb}body .scroll,body .tablewrap,body .table-responsive{border:1px solid #e1e9f2;border-radius:14px;overscroll-behavior:contain}body table p:last-child{margin-bottom:0}
body input:focus-visible,body select:focus-visible,body textarea:focus-visible{outline:0;border-color:#6267c6;box-shadow:0 0 0 4px #686bcb19!important}body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body select,body textarea{border-radius:11px;min-height:45px;border-color:#c8d6e6}
body .owner-nav{padding:9px;background:#ffffffc9;backdrop-filter:blur(12px);border:1px solid #dde6f3;border-radius:17px;gap:7px}body .owner-nav a{border:0;background:transparent;padding:11px 14px;color:#48617f;border-radius:11px}body .owner-nav a:hover{background:#edf1fb}body .owner-nav a[aria-current=page]{background:#e5e9fc;color:#3a4093;box-shadow:inset 0 0 0 1px #d3d9f5}
body nav{background:linear-gradient(100deg,#152e4b,#274969)!important}body .metrics strong{font-variant-numeric:tabular-nums;color:#28478b}body .metrics .card{border-top:3px solid #6e68cc}body .metrics .card:nth-child(2){border-top-color:#249c86}body .metrics .card:nth-child(3){border-top-color:#418dbe}body .metrics .card:nth-child(4){border-top-color:#d39840}
body .notice,body .alert{border-radius:13px;line-height:1.7}body .owner-nav,body .hero,body .module-hero,body .erp-catalog{animation:c21-enter .32s ease-out both}@keyframes c21-enter{from{opacity:.35;translate:0 8px}to{opacity:1;translate:0 0}}
body form .helptext{line-height:1.65;font-size:12px}body .license-identity{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}body summary{line-height:1.5}body .welcome-steps{gap:16px}body .welcome-steps>div{background:#fff;border:1px solid #dbe5f2;border-radius:16px;padding:22px}body .welcome-steps b{color:#4c4b9a}
@media(max-width:700px){body .owner-nav a{flex:1 1 130px;text-align:center}body .erp-module{padding:22px}body table th,body table td{padding:12px!important}body nav{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white!important}body .hero,body .module-hero{box-shadow:none}body table th{position:static}body .owner-nav{display:none}}

body .carillia-login-box{border-radius:25px!important;border:1px solid #dce6f1!important;box-shadow:0 22px 70px #1c34551c!important;background:linear-gradient(160deg,#fff,#f8f9ff)!important}body .carillia-login-submit{background:linear-gradient(110deg,#087c96,#4a54ae)!important;box-shadow:0 7px 18px #2c649b25!important}body .carillia-login-version{background:#e8e8fa!important;color:#4c4694!important;border-radius:9px}body .carillia-login-field input{background:#fff!important;border:1px solid #bfcfe3!important}body .carillia-password-toggle{background:#edf2fb!important;color:#2b4c74!important;box-shadow:none!important}body .carillia-login-error{border-radius:12px!important;line-height:1.65}body .erp-module.is-inactive .state{color:#a43451!important}

.module-features{padding-left:18px;margin:0;color:#536b84;font-size:12px;line-height:1.65}.module-features li{margin:5px 0}body .erp-catalog{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
