/* Orbit Spectrum — colorful workspace, shared across all roles. */
:root{--bg:#f7f5fc;--primary:#7953e8;--bs-primary:#7953e8;--bs-primary-rgb:121,83,232;--text:#302d50;--line:#ebe5f5}
body{background:radial-gradient(ellipse at 95% 5%,#e1f5f6 0,transparent 33%),radial-gradient(ellipse at 15% 45%,#f3e8fc 0,transparent 48%),#f8f6fc}
.sidebar{background:linear-gradient(160deg,#493c92 0%,#333571 45%,#234b65 100%);box-shadow:6px 0 30px #59449712}.sidebar .brand-dot{color:#ffcf79}.brand-mark{background:linear-gradient(140deg,#ff8aba,#a47afa 55%,#68c7e9);box-shadow:0 5px 18px #201c4733}.workspace-switch{background:#ffffff0c;border-color:#ffffff20}.workspace-icon{background:#ffffff18;border-color:#ffffff28;color:#ffdfaa}.nav-item{color:#ddd9ef}.nav-item i{color:#c0afea}.nav-item:nth-child(4n+1) i{color:#85dfd1}.nav-item:nth-child(4n+2) i{color:#ffd18d}.nav-item:nth-child(4n+3) i{color:#aebeff}.nav-item:nth-child(4n) i{color:#f6accc}.nav-item.active{background:linear-gradient(105deg,#aa7be9,#8587ef);box-shadow:0 5px 20px #1c194933}.nav-item.active i{color:#fff}.nav-item:hover{background:#ffffff12}.nav-caption{color:#b2abd0}.sidebar-note{background:linear-gradient(110deg,#65cfc518,#ba87ef18);border-color:#ffffff15}.sidebar-note strong{color:#ece3fb}.sidebar-note small{color:#c1b6d5}.sidebar-note>i{color:#89e4d3}
.topbar{background:linear-gradient(100deg,#fff,#faf5ff 65%,#effafa);border-bottom-color:#e8e0f3}.live-label{background:#e0f6f0;color:#27846e;border-color:#bfe8dd}.avatar{background:linear-gradient(140deg,#f6daf0,#e4defc);color:#8d62af;border-color:#fff}.eyebrow{color:#9a7cb1}.date-chip{background:#fff8ed;border-color:#f3e1c4;color:#aa8248}.page-heading h1{color:#413655}.page-heading p{color:#8c7e9e}
.welcome-banner{background:radial-gradient(ellipse at 98% 0,#6dd0cc55 0,transparent 50%),linear-gradient(115deg,#8c64d6 0%,#797bdd 47%,#519cac 100%);border-color:#9f86de;box-shadow:0 12px 32px #9c76ca1a}.welcome-banner h2{color:#fff}.welcome-banner p{color:#f0e8fb}.banner-pill{color:#ede5ff}.banner-pill .online-dot{background:#b3f5df}.wave{color:#ffdea1}.banner-orbit>i{color:#dbf9e7;filter:drop-shadow(0 8px 20px #3a518233)}.banner-orbit>span{color:#e0f7f2}.banner-circle,.banner-circle:before,.banner-circle:after{border-color:#ffffff25}.welcome-banner .btn{color:#8660b5;background:#fffbff;border-color:#fff}.welcome-banner .btn:hover{background:#fff3de}
.stat-card{border-radius:16px;box-shadow:0 6px 18px #78638b07;border-color:#e9e1f1;background:linear-gradient(130deg,#fff,#f5efff)}.stat-card:before{background:#aa80e8;width:45px}.stat-card:nth-child(4n+1){background:linear-gradient(130deg,#fff,#edf0ff);border-color:#dfe4ff}.stat-card:nth-child(4n+2){background:linear-gradient(130deg,#fff,#e5f7f0);border-color:#d2eee2}.stat-card:nth-child(4n+3){background:linear-gradient(130deg,#fff,#fff1df);border-color:#f4e1c8}.stat-card:nth-child(4n){background:linear-gradient(130deg,#fff,#f5e8f7);border-color:#ecd6ef}.stat-card:nth-child(4n+1):before{background:#8097ef}.stat-card:nth-child(4n+2):before{background:#63c7ac}.stat-card:nth-child(4n+3):before{background:#e8b55c}.stat-card:nth-child(4n):before{background:#c684d0}.stat-top{color:#81728f}.stat-card>strong{color:#514767}.stat-card>small{color:#93849f}.blue{background:#e3eaff;color:#748bdd}.green{background:#d5f1e7;color:#45aa8b}.amber{background:#ffebcd;color:#cd9c45}.purple{background:#eddaf3;color:#ac6bbc}a.stat-card:hover{box-shadow:0 10px 25px #9372bb18;border-color:#c7b2e7}
.dashboard-grid>.panel:first-child{border-top:3px solid #a48be1}.collection-panel{background:linear-gradient(155deg,#fff,#fff9ee);border-top:3px solid #e5ba77;border-color:#f0e5d2}.collection-amount{color:#997644}.collection-panel .btn{background:#fff6e7;border-color:#e9d1a5;color:#aa8244}.collection-panel .btn:hover{background:#e0b66d;color:#fff}.collection-row strong{color:#826c56}.bar-track svg{fill:#c4ace9}.bar-column:nth-child(2n) svg{fill:#9ecfda}.bar-column:nth-child(3n) svg{fill:#e7bd91}.bar-column:last-child svg{fill:#a182d8}.bar-value{color:#9c83b1}.mini-stats a:nth-child(4n+1){background:#f1eeff;border-color:#e3dcf8}.mini-stats a:nth-child(4n+2){background:#eaf8f6;border-color:#d5efea}.mini-stats a:nth-child(4n+3){background:#fff6e9;border-color:#f3e3cc}.mini-stats a:nth-child(4n){background:#fff0f6;border-color:#f2dfe9}.mini-stats span{color:#8b7e97}.mini-stats strong{color:#6d5b84}
.panel{border-color:#e9e1f2;box-shadow:0 4px 15px #9173ad06}.panel-heading{background:linear-gradient(100deg,#fcfaff,#fff 65%,#f4fbfa);border-bottom:1px solid #f1ebf6}.panel-heading h2{color:#69547e}.panel-heading p{color:#9a8ba6}.table th{background:linear-gradient(100deg,#f5effb,#f1f5fc);color:#9380a9;border-bottom-color:#eae1f2}.table{--bs-table-color:#82718f;--bs-table-border-color:#f0eaf6}.table tbody tr:nth-child(even) td{background:#fcfaff}.table tbody tr:hover td{background:#f5effb}.table td strong{color:#6b597d}.table td small{color:#a095ad}.table a:not(.btn){color:#9771b5}.key-code{color:#9574b1}.filter-bar{background:linear-gradient(105deg,#faf6ff,#f4fbfa);border-color:#eee6f6}.filter-bar .btn-light{background:#fff4e6;border-color:#eedcbe;color:#b38c55}.form-control:focus,.form-select:focus{border-color:#b69ce1;box-shadow:0 0 0 3px #a980df18}.form-label{color:#897397}.form-control,.form-select{border-color:#e8dff1;color:#786189}.btn-primary{--bs-btn-bg:#9671cf;--bs-btn-border-color:#9671cf;--bs-btn-hover-bg:#835abf;--bs-btn-hover-border-color:#835abf;--bs-btn-active-bg:#7850b1;--bs-btn-active-border-color:#7850b1;background-image:linear-gradient(110deg,#a079d4,#867bd6);box-shadow:0 4px 12px #9774cd22!important}.btn-outline-primary{--bs-btn-color:#9876b8;--bs-btn-border-color:#decaef;--bs-btn-hover-bg:#a07bca;--bs-btn-hover-border-color:#a07bca}.btn-light{background:#f5f1fb;border-color:#e7dbf1;color:#9b80b0}.text-link{color:#a07cc0}.subtle-chip{color:#a184b3;border-color:#e9ddef;background:#fcf8ff}.quick-filters a:nth-child(3n+2){background:#edf8f5;color:#70a693;border-color:#d5ece4}.quick-filters a:nth-child(3n){background:#fff7e8;color:#ba985f;border-color:#f1e3c6}.count-pill{background:#f2e5f9;color:#b38bc7}
.status-active,.status-paid,.status-credit{background:#e2f5e9;color:#57a581}.status-unpaid{background:#fff0d1;color:#c39b52}.status-inactive,.status-expired{background:#eee7f8;color:#a18ac0}.status-blocked,.status-debit{background:#ffe7ee;color:#cf879f}.info-panel{background:linear-gradient(140deg,#f2e9ff,#e3f7f3);border-color:#e4d7f1}.info-panel h2{color:#8b6ca7}.info-step>span{color:#ae8cc1;border-color:#dac8e9}.hierarchy-chain>span:nth-child(3n+1){background:#f3eafa;border-color:#e5d4f1;color:#a27eb8}.hierarchy-chain>span:nth-child(3n+2){background:#e9f7f2;border-color:#d2ece0;color:#7ca991}.hierarchy-chain>span:nth-child(3n){background:#fff5e5;border-color:#f2e0c0;color:#b79762}.empty-state>i{background:#f2e6fa;color:#bd9cd3;border-color:#ead9f6}.modal-header{background:linear-gradient(105deg,#f6edff,#ecf9f6);border-color:#e8dff1}.modal-title{color:#8d6eab}.toast-header{background:#f6eefa;color:#ad89bf}.login-story{background:radial-gradient(ellipse at 100% 30%,#62c2c45a 0,transparent 55%),linear-gradient(145deg,#8d64bb,#657dc0 70%,#508b9b)}.story-content h1{color:#fff}.story-content>p,.story-foot{color:#e0dff3}.story-content>.eyebrow{color:#e6e2fa}.orbit-core{background:linear-gradient(135deg,#d0a4ed,#8ddacf);border-color:#ffffff33}.orbit-node{background:#ffffff24;color:#f5dba9;border-color:#ffffff25}.orbit-ring{border-color:#ffffff30}.login-form{background:radial-gradient(ellipse at 90% 0,#e9f7f4,transparent 55%),radial-gradient(ellipse at 10% 100%,#f6eafc,transparent 65%),#fff}.login-form h2{color:#7d6398}.auth-body{background:linear-gradient(130deg,#9576c1,#789fc5,#73b5a7)}
@media print{body,.panel,.stat-card,.table th,.table tbody tr:nth-child(even) td{background:#fff}.welcome-banner{background:#fff;box-shadow:none}.welcome-banner h2,.welcome-banner p{color:#302d50}}

/* Keep labels readable on the pale color surfaces. */
.stat-top,.mini-stats span,.form-label{color:#6a567e}.stat-card>small,.panel-heading p,.table td small{color:#7b6b8a}.table th{color:#78618f}.table a:not(.btn),.key-code{color:#7a539d}.subtle-chip{color:#815b99}.status-active,.status-paid,.status-credit{color:#267a54}.status-unpaid{color:#956919}.status-inactive,.status-expired{color:#785995}.status-blocked,.status-debit{color:#a64b68}
