*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#09090b;--surface:#18181b;--surface2:#27272a;--surface3:#3f3f46;--border:#27272a;--border2:#3f3f46;--text:#fafafa;--text2:#a1a1aa;--text3:#71717a;--text4:#52525b;--accent:#f59e0b;--accent2:#d97706;--accent-soft:#f59e0b1f;--green:#10b981;--green-soft:#10b9811f;--red:#ef4444;--red-soft:#ef44441f;--blue:#3b82f6;--blue-soft:#3b82f61f;--purple:#8b5cf6;--purple-soft:#8b5cf61f;--cyan:#06b6d4;--cyan-soft:#06b6d41f;--orange:#f97316;--pink:#ec4899;--radius:8px;--radius-lg:12px;--radius-sm:6px;--shadow:0 1px 3px #0006;--shadow-lg:0 8px 32px #00000080}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.5}.app-shell{height:100vh;display:flex;overflow:hidden}.nav-rail{background:var(--surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;align-items:center;gap:4px;width:56px;min-width:56px;padding:12px 0;display:flex}.nav-logo{background:var(--accent);border-radius:var(--radius);width:32px;height:32px;color:var(--bg);cursor:pointer;justify-content:center;align-items:center;margin-bottom:12px;font-size:14px;font-weight:800;display:flex}.nav-item{border-radius:var(--radius);cursor:pointer;width:40px;height:40px;color:var(--text3);justify-content:center;align-items:center;font-size:18px;transition:all .15s;display:flex;position:relative}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-spacer{flex:1}.main-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:52px;min-height:52px;padding:0 20px;display:flex}.top-bar .page-title{letter-spacing:-.3px;white-space:nowrap;font-size:15px;font-weight:700}.top-bar .page-subtitle{color:var(--text3);white-space:nowrap;font-size:12px}.search-global{flex:1;max-width:400px;margin:0 auto}.search-global input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:7px 12px;font-family:inherit;font-size:12px}.search-global input:focus{border-color:var(--accent);background:var(--bg)}.search-global input::placeholder{color:var(--text4)}.sub-nav{border-bottom:1px solid var(--border);align-items:center;gap:0;height:40px;min-height:40px;padding:0 20px;display:flex}.sub-tab{color:var(--text3);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;padding:8px 14px;font-size:12px;font-weight:500;transition:all .15s}.sub-tab:hover{color:var(--text)}.sub-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.sub-tab .count{background:var(--surface3);border-radius:10px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:600}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn-primary:hover{background:var(--accent2)}.btn-ghost{color:var(--text2);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface2);color:var(--text);border-color:var(--border2)}.btn-sm{padding:4px 10px;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed}.content-area{flex:1;display:flex;overflow:hidden}.content-scroll{flex:1;padding:16px 20px;overflow-y:auto}.content-scroll::-webkit-scrollbar{width:6px}.content-scroll::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:3px}.list-table{border-collapse:separate;border-spacing:0;width:100%}.list-table thead th{background:var(--surface);color:var(--text3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;z-index:10;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.list-table thead th:hover{color:var(--text)}.list-table tbody tr{cursor:pointer;transition:background .1s}.list-table tbody tr:hover{background:var(--surface)}.list-table tbody tr.selected{background:var(--accent-soft)}.list-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px;font-size:13px}.cell-name{align-items:center;gap:8px;font-weight:600;display:flex}.cell-name .avatar{background:var(--surface3);width:28px;height:28px;color:var(--text2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.cell-tier{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.cell-tier.t1{background:var(--accent-soft);color:var(--accent)}.cell-tier.t2{background:var(--blue-soft);color:var(--blue)}.cell-tier.t3{background:var(--surface2);color:var(--text3)}.cell-warmth{align-items:center;gap:6px;display:flex}.warmth-bar{background:var(--surface3);border-radius:2px;width:48px;height:4px;overflow:hidden}.warmth-fill{border-radius:2px;height:100%;transition:width .3s}.cell-amount{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.cell-stage{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.board{align-items:flex-start;gap:12px;height:100%;padding:16px 20px;display:flex;overflow-x:auto}.board::-webkit-scrollbar{height:6px}.board::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:3px}.board-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;min-width:270px;max-width:270px;max-height:100%;display:flex}.board-col-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px;display:flex}.board-col-header .col-dot{border-radius:50%;width:8px;height:8px}.board-col-header .col-title{flex:1;font-size:12px;font-weight:600}.board-col-header .col-count{color:var(--text3);background:var(--surface2);border-radius:8px;padding:1px 6px;font-size:11px}.board-col-body{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.board-col-body::-webkit-scrollbar{width:4px}.board-col-body::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:2px}.board-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:10px 12px;transition:all .15s}.board-card:hover{border-color:var(--border2);background:var(--surface2)}.board-card .card-name{margin-bottom:4px;font-size:13px;font-weight:600}.board-card .card-meta{color:var(--text3);gap:8px;font-size:11px;display:flex}.board-card .card-tags{flex-wrap:wrap;gap:3px;margin-top:6px;display:flex}.board-card .card-amount{color:var(--green);margin-top:6px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.timeline{max-width:700px;padding:16px 20px}.timeline-item{gap:12px;padding-bottom:20px;display:flex;position:relative}.timeline-item:before{content:"";background:var(--border);width:1px;position:absolute;top:32px;bottom:0;left:15px}.timeline-item:last-child:before{display:none}.timeline-dot{z-index:1;border-radius:50%;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;font-size:14px;display:flex}.timeline-dot.email{background:var(--blue-soft);color:var(--blue)}.timeline-dot.note{background:var(--purple-soft);color:var(--purple)}.timeline-dot.call{background:var(--green-soft);color:var(--green)}.timeline-dot.meeting{background:var(--accent-soft);color:var(--accent)}.timeline-dot.stage{background:var(--cyan-soft);color:var(--cyan)}.timeline-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:1;padding:10px 14px}.timeline-body .tl-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.timeline-body .tl-title{font-size:13px;font-weight:600}.timeline-body .tl-date{color:var(--text3);font-size:11px}.timeline-body .tl-desc{color:var(--text2);font-size:12px;line-height:1.5}.dash-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.stat-card .stat-label{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px}.stat-card .stat-value{letter-spacing:-1px;font-size:28px;font-weight:800;line-height:1}.stat-card .stat-sub{color:var(--text3);margin-top:4px;font-size:11px}.dash-row{grid-template-columns:2fr 1fr;gap:12px;margin-bottom:16px;display:grid}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.dash-panel h3{margin-bottom:12px;font-size:14px;font-weight:700}.funnel-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.funnel-row:last-child{border-bottom:none}.funnel-label{flex-shrink:0;width:140px;font-size:12px;font-weight:500}.funnel-bar-bg{background:var(--surface2);border-radius:4px;flex:1;height:24px;overflow:hidden}.funnel-bar-fill{border-radius:4px;align-items:center;height:100%;padding-left:8px;transition:width .5s;display:flex}.funnel-bar-fill span{color:var(--bg);font-size:10px;font-weight:700}.funnel-count{text-align:right;width:40px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.detail-overlay{z-index:200;background:#00000080;transition:opacity .2s;position:fixed;inset:0}.detail-panel{background:var(--surface);border-left:1px solid var(--border);z-index:201;width:520px;height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:0;right:0}.detail-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.detail-header .detail-avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.detail-header .detail-info{flex:1}.detail-header .detail-name{font-size:16px;font-weight:700}.detail-header .detail-sub{color:var(--text3);font-size:12px}.detail-close{cursor:pointer;color:var(--text3);padding:4px;font-size:18px}.detail-close:hover{color:var(--text)}.detail-tabs{border-bottom:1px solid var(--border);padding:0 20px;display:flex}.detail-tab{color:var(--text3);cursor:pointer;border-bottom:2px solid #0000;padding:10px 14px;font-size:12px;font-weight:500}.detail-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.detail-body{flex:1;padding:16px 20px;overflow-y:auto}.detail-body::-webkit-scrollbar{width:4px}.detail-body::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:2px}.intel-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.intel-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.intel-card.full{grid-column:1/-1}.intel-card .il{color:var(--text4);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:10px}.intel-card .iv{font-size:13px;font-weight:600}.modal-overlay{z-index:300;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:680px;max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{font-size:15px;font-weight:700}.modal-body{flex:1;padding:16px 20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.form-group{margin-bottom:12px}.form-label{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent)}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.form-select{cursor:pointer}.form-select option{background:var(--surface);color:var(--text)}.ai-badge{background:var(--purple-soft);color:var(--purple);border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.note-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:10px 14px}.note-item .note-date{color:var(--text3);margin-bottom:4px;font-size:11px}.note-item .note-text{color:var(--text2);font-size:13px;line-height:1.6}.connector-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:6px;padding:10px 12px}.connector-card .cn-name{color:var(--accent);font-size:13px;font-weight:600}.connector-card .cn-role{color:var(--text3);font-size:11px}.connector-card .cn-strength{color:var(--green);font-size:11px;font-weight:600}.loader-overlay{z-index:500;background:#09090bf2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loader-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:500px;padding:32px}.loader-card h2{color:var(--accent);margin-bottom:8px;font-size:20px;font-weight:800}.loader-card p{color:var(--text2);margin-bottom:20px;font-size:13px}.drop-zone{border:2px dashed var(--border2);border-radius:var(--radius-lg);cursor:pointer;margin-bottom:12px;padding:32px;transition:all .2s}.drop-zone:hover{border-color:var(--accent);background:var(--accent-soft)}.empty-state{height:300px;color:var(--text3);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state .empty-icon{opacity:.3;margin-bottom:12px;font-size:48px}.empty-state h3{color:var(--text2);margin-bottom:4px;font-size:15px;font-weight:600}.settings-page{max-width:600px;padding:20px}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;padding:16px}.settings-section h4{margin-bottom:10px;font-size:13px;font-weight:600}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:3px}.cmd-overlay{z-index:400;background:#0009;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.cmd-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:560px;box-shadow:var(--shadow-lg);overflow:hidden}.cmd-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);background:0 0;outline:none;padding:14px 16px;font-family:inherit;font-size:15px}.cmd-input::placeholder{color:var(--text4)}.cmd-results{max-height:360px;overflow-y:auto}.cmd-item{cursor:pointer;align-items:center;gap:10px;padding:10px 16px;transition:background .1s;display:flex}.cmd-item:hover,.cmd-item.focused{background:var(--surface2)}.cmd-item .cmd-icon{background:var(--surface2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.cmd-item .cmd-label{font-size:13px;font-weight:500}.cmd-item .cmd-hint{color:var(--text3);margin-left:auto;font-size:11px}.cmd-item .cmd-sub{color:var(--text3);font-size:11px}.cmd-section{color:var(--text4);text-transform:uppercase;letter-spacing:.6px;padding:6px 16px;font-size:10px;font-weight:700}.bulk-bar{background:var(--accent-soft);border-bottom:1px solid var(--accent);align-items:center;gap:12px;padding:10px 20px;animation:.2s slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.bulk-bar .bulk-count{color:var(--accent);font-size:13px;font-weight:700}.bulk-bar .bulk-actions{gap:6px;margin-left:auto;display:flex}.row-check{border:2px solid var(--border2);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;transition:all .15s;display:flex}.row-check.checked{background:var(--accent);border-color:var(--accent);color:var(--bg)}.row-check:hover{border-color:var(--accent)}.reminder-badge{border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.reminder-badge.overdue{background:var(--red-soft);color:var(--red)}.reminder-badge.today{background:var(--accent-soft);color:var(--accent)}.reminder-badge.upcoming{background:var(--blue-soft);color:var(--blue)}.editable{cursor:pointer;border-radius:var(--radius-sm);border:1px solid #0000;padding:2px 4px;transition:background .15s}.editable:hover{background:var(--surface2);border-color:var(--border)}.editable-active{background:var(--bg)!important;border-color:var(--accent)!important}.donor-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.donor-form-grid .full{grid-column:1/-1}.net-stats{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px;display:grid}.net-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:12px}.net-stat .ns-val{letter-spacing:-.5px;font-size:22px;font-weight:800}.net-stat .ns-lbl{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:10px}.net-path-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:8px;padding:16px;transition:border-color .15s}.net-path-card:hover{border-color:var(--accent)}.net-path-chain{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.net-path-node{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.net-path-node.you{background:var(--accent-soft);color:var(--accent)}.net-path-node.contact{background:var(--blue-soft);color:var(--blue)}.net-path-node.donor{background:var(--green-soft);color:var(--green)}.net-path-arrow{color:var(--text4);font-size:14px}.net-signal{background:var(--surface2);color:var(--text2);border-radius:4px;align-items:center;gap:3px;margin-bottom:4px;margin-right:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.net-import-zone{border:2px dashed var(--border2);border-radius:var(--radius-lg);text-align:center;cursor:pointer;margin-bottom:12px;padding:24px;transition:all .2s}.net-import-zone:hover{border-color:var(--accent);background:var(--accent-soft)}.net-import-zone.active{border-color:var(--green);background:var(--green-soft)}.net-contact-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.net-contact-row:hover{background:var(--surface)}.net-contact-row .nc-name{min-width:160px;font-weight:600}.net-contact-row .nc-org{color:var(--text3);min-width:140px}.net-contact-row .nc-match{border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.net-strength-bar{background:var(--surface3);border-radius:3px;width:60px;height:6px;overflow:hidden}.net-strength-fill{border-radius:3px;height:100%}.org-switcher{border-bottom:1px solid var(--border);margin-bottom:4px;padding:8px}.org-switcher select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:center;cursor:pointer;padding:4px;font-size:10px}.org-badge{background:var(--accent-soft);color:var(--accent);border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.campaign-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;margin-bottom:10px;padding:16px;transition:border-color .15s}.campaign-card:hover,.campaign-card.active{border-color:var(--accent)}.campaign-card.active{background:var(--accent-soft)}.campaign-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.campaign-progress{background:var(--surface3);border-radius:4px;width:100%;height:8px;margin-top:8px;overflow:hidden}.campaign-progress-fill{border-radius:4px;height:100%;transition:width .5s}.chart-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;padding:16px}.chart-container h4{margin-bottom:12px;font-size:13px;font-weight:700}.bar-chart{align-items:flex-end;gap:4px;height:160px;padding-top:8px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.bar-fill{border-radius:4px 4px 0 0;width:100%;min-width:20px;transition:height .5s}.bar-label{color:var(--text4);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:60px;font-size:9px;overflow:hidden}.bar-value{color:var(--text2);font-size:10px;font-weight:700}.trend-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.trend-row:last-child{border-bottom:none}.csv-preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-height:200px;margin:12px 0;overflow-x:auto}.csv-preview table{border-collapse:collapse;width:100%;font-size:11px}.csv-preview th,.csv-preview td{border:1px solid var(--border);white-space:nowrap;padding:6px 10px}.csv-preview th{background:var(--surface);color:var(--text3);text-transform:uppercase;font-size:10px;font-weight:700;position:sticky;top:0}.col-mapper{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:6px 0;display:grid}.col-mapper:last-child{border-bottom:none}.wizard-overlay{z-index:500;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wizard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:640px;max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.wizard-steps{border-bottom:1px solid var(--border);gap:0;padding:16px 20px;display:flex}.wizard-step{text-align:center;color:var(--text4);flex:1;padding:8px 4px;font-size:11px;font-weight:600;position:relative}.wizard-step.active{color:var(--accent)}.wizard-step.done{color:var(--green)}.wizard-step:after{content:"";background:var(--border);border-radius:1px;height:2px;position:absolute;bottom:0;left:20%;right:20%}.wizard-step.active:after{background:var(--accent)}.wizard-step.done:after{background:var(--green)}.wizard-body{flex:1;padding:20px;overflow-y:auto}.wizard-footer{border-top:1px solid var(--border);justify-content:space-between;padding:12px 20px;display:flex}.auth-overlay{z-index:600;background:linear-gradient(135deg,#09090b 0%,#1a1a2e 50%,#09090b 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:420px;box-shadow:var(--shadow-lg);padding:40px}.auth-card h2{text-align:center;margin-bottom:4px;font-size:24px;font-weight:800}.auth-card .auth-sub{color:var(--text3);text-align:center;margin-bottom:24px;font-size:12px}.auth-card .auth-logo{background:var(--accent);border-radius:var(--radius-lg);width:56px;height:56px;color:var(--bg);justify-content:center;align-items:center;margin:0 auto 16px;font-size:22px;font-weight:800;display:flex}.auth-tabs{border:1px solid var(--border);border-radius:var(--radius-sm);gap:0;margin-bottom:20px;display:flex;overflow:hidden}.auth-tab{text-align:center;cursor:pointer;background:var(--bg);color:var(--text3);flex:1;padding:8px;font-size:12px;font-weight:600;transition:all .15s}.auth-tab.active{background:var(--accent);color:var(--bg)}.auth-role-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.auth-role{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;padding:10px;transition:all .15s}.auth-role.selected{border-color:var(--accent);background:var(--accent-soft)}.auth-role .role-icon{margin-bottom:4px;font-size:20px}.auth-role .role-name{font-size:12px;font-weight:700}.auth-role .role-desc{color:var(--text3);font-size:10px}.toast-container{z-index:500;pointer-events:none;flex-direction:column;gap:8px;max-width:360px;display:flex;position:fixed;top:60px;right:20px}.toast{pointer-events:all;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:12px 16px;animation:.3s toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast.success{border-color:#10b9814d}.toast.warning{border-color:#f59e0b4d}.toast.error{border-color:#ef44444d}.toast.info{border-color:#3b82f64d}.toast-icon{flex-shrink:0;margin-top:1px;font-size:16px}.toast-body{flex:1;min-width:0}.toast-title{margin-bottom:2px;font-size:12px;font-weight:700}.toast-msg{color:var(--text3);font-size:11px;line-height:1.4}.toast-close{cursor:pointer;color:var(--text4);flex-shrink:0;padding:2px;font-size:14px}.toast-close:hover{color:var(--text)}.notif-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:360px;box-shadow:var(--shadow-lg);z-index:250;flex-direction:column;max-height:480px;display:flex;position:absolute;top:48px;right:0}.notif-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notif-header h4{font-size:13px;font-weight:700}.notif-list{flex:1;max-height:400px;overflow-y:auto}.notif-item{border-bottom:1px solid var(--border);cursor:pointer;gap:10px;padding:10px 16px;transition:background .1s;display:flex}.notif-item:hover{background:var(--surface2)}.notif-item.unread{background:#f59e0b0a}.notif-item .ni-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.notif-item .ni-body{flex:1;min-width:0}.notif-item .ni-title{font-size:12px;font-weight:600}.notif-item .ni-msg{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.notif-item .ni-time{color:var(--text4);margin-top:2px;font-size:10px}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.admin-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.admin-card h4{align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.user-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.user-row:last-child{border-bottom:none}.user-row .ur-avatar{background:var(--surface3);width:32px;height:32px;color:var(--text2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.user-row .ur-info{flex:1;min-width:0}.user-row .ur-name{font-size:13px;font-weight:600}.user-row .ur-email{color:var(--text3);font-size:11px}.user-row .ur-role{border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.rule-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.rule-card .rule-icon{background:var(--surface2);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex}.rule-card .rule-body{flex:1}.rule-card .rule-name{font-size:13px;font-weight:600}.rule-card .rule-desc{color:var(--text3);font-size:11px}.rule-toggle{background:var(--surface3);cursor:pointer;border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.rule-toggle.on{background:var(--accent)}.rule-toggle:after{content:"";background:var(--text);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.rule-toggle.on:after{transform:translate(16px)}.export-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.export-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;padding:20px;transition:all .15s}.export-card:hover{border-color:var(--accent);background:var(--accent-soft)}.export-card .ex-icon{margin-bottom:8px;font-size:32px}.export-card .ex-title{margin-bottom:4px;font-size:13px;font-weight:700}.export-card .ex-desc{color:var(--text3);font-size:11px}.kpi-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:10px}.kpi-card .kpi-val{letter-spacing:-.5px;font-size:20px;font-weight:800;line-height:1}.kpi-card .kpi-lbl{color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;font-size:9px}.kpi-card .kpi-delta{margin-top:2px;font-size:10px;font-weight:700}.kpi-card .kpi-delta.up{color:var(--green)}.kpi-card .kpi-delta.down{color:var(--red)}.audit-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;font-size:12px;transition:background .1s;display:flex}.audit-row:hover{background:var(--surface)}.audit-row .au-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.audit-row .au-body{flex:1;min-width:0}.audit-row .au-action{font-weight:600}.audit-row .au-detail{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.audit-row .au-time{color:var(--text4);white-space:nowrap;flex-shrink:0;font-size:10px}.audit-filter-bar{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:8px;padding:10px 0;display:flex}.dup-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:8px;padding:14px}.dup-pair{align-items:center;gap:12px;display:flex}.dup-donor{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex:1;padding:10px}.dup-donor .dd-name{font-size:13px;font-weight:700}.dup-donor .dd-meta{color:var(--text3);font-size:11px}.dup-merge-btn{flex-shrink:0}.dup-badge{border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-flex}.lb-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:10px 14px;transition:background .1s;display:flex}.lb-row:hover{background:var(--surface)}.lb-rank{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:flex}.lb-rank.gold{background:var(--accent-soft);color:var(--accent)}.lb-rank.silver{background:var(--blue-soft);color:var(--blue)}.lb-rank.bronze{background:var(--purple-soft);color:var(--purple)}.lb-rank.normal{background:var(--surface2);color:var(--text3)}.lb-info{flex:1;min-width:0}.lb-name{font-size:13px;font-weight:600}.lb-sub{color:var(--text3);font-size:11px}.lb-score{text-align:right;flex-shrink:0}.lb-score-val{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:800}.lb-score-lbl{color:var(--text4);text-transform:uppercase;font-size:9px}.tag{cursor:default;border-radius:12px;align-items:center;gap:3px;padding:2px 8px;font-size:10px;font-weight:600;transition:all .15s;display:inline-flex}.tag .tag-x{cursor:pointer;opacity:.5;margin-left:2px;font-size:8px}.tag .tag-x:hover{opacity:1}.tag-input{border:1px dashed var(--border);color:var(--text3);cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;transition:all .15s;display:inline-flex}.tag-input:hover{border-color:var(--accent);color:var(--accent)}.tag-bar{flex-wrap:wrap;gap:4px;padding:8px 0;display:flex}.tag-cloud{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.batch-recipient{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;margin-bottom:4px;padding:6px 10px;display:flex}.batch-recipient .br-name{flex:1;font-size:12px;font-weight:600}.batch-recipient .br-remove{cursor:pointer;color:var(--text4);font-size:12px}.batch-recipient .br-remove:hover{color:var(--red)}.batch-status{border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;padding:16px}.team-card .tc-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.team-card .tc-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.team-card .tc-name{font-size:14px;font-weight:700}.team-card .tc-role{color:var(--text3);font-size:11px}.team-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.team-stat{text-align:center;background:var(--bg);border-radius:var(--radius);padding:8px}.team-stat .ts-val{font-size:18px;font-weight:800}.team-stat .ts-lbl{color:var(--text3);text-transform:uppercase;font-size:9px}@media print{.nav-rail,.top-bar,.sub-nav,.bulk-bar,.detail-overlay,.detail-panel,.modal-overlay,.cmd-overlay,.wizard-overlay,.toast-container,.notif-panel,.auth-overlay{display:none!important}.app-shell,.main-area{display:block!important}.content-area{display:block!important;overflow:visible!important}.content-scroll{padding:0!important;overflow:visible!important}body{font-size:11pt;color:#000!important;background:#fff!important}.stat-card,.dash-panel,.campaign-card,.chart-container,.kpi-card{break-inside:avoid;background:#fff!important;border:1px solid #ccc!important}}@media (max-width:900px){.dash-grid{grid-template-columns:1fr 1fr}.dash-row,.donor-form-grid{grid-template-columns:1fr}.net-stats,.kpi-grid{grid-template-columns:repeat(3,1fr)}.admin-grid,.export-grid{grid-template-columns:1fr}}
