.adm-page{background:var(--accent-ghost);flex-direction:column;min-height:100%;display:flex}.adm-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px 28px 0;display:flex}.adm-header h1{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.adm-header p{color:var(--text-muted);margin:0;font-size:.85rem}.adm-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin:20px 28px 0;overflow-x:auto}.adm-pad{padding:28px}.adm-muted{color:var(--text-muted);font-size:.85rem}.adm-footnote{color:var(--text-faint);margin:14px 28px 28px;font-size:.78rem;line-height:1.6}.adm-empty{text-align:center;padding:48px 28px}.adm-empty h1,.adm-empty h2{color:var(--text-strong);margin:0 0 6px;font-size:1.05rem;font-weight:700}.adm-empty p{max-width:440px;margin:0 auto 18px;line-height:1.6}.adm-table{border-collapse:collapse;width:100%;font-size:.85rem}.adm-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--accent-soft);white-space:nowrap;padding:14px 16px;font-weight:700}.adm-table td{color:var(--text-strong);vertical-align:middle;border-bottom:1px solid #f2f8fc;padding:14px 16px}.adm-table tr:last-child td{border-bottom:none}.adm-row--off td{opacity:.55}.adm-name{align-items:center;gap:7px;font-weight:600;display:inline-flex}.adm-you{background:var(--accent-soft);color:var(--accent-strong);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:700}.adm-actions{text-align:right;white-space:nowrap}.adm-chips{flex-wrap:wrap;gap:5px;max-width:300px;display:flex}.adm-table .adm-chips{min-width:240px}.adm-chip{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.73rem;font-weight:600}.adm-chip--more{border:1px dashed var(--border);color:var(--text-muted);cursor:help;background:0 0}.adm-role,.adm-status{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.73rem;font-weight:700;display:inline-block}.adm-role--super_admin{color:#6b21a8;background:#f3e8ff}.adm-role--tenant_admin{color:#075985;background:#e0f2fe}.adm-role--tenant_user{color:#4b5563;background:#f4f5f7}.adm-status--on{background:var(--success-bg);color:#1c7c54}.adm-status--off{color:var(--text-muted);background:#f4f5f7}.adm-btn-primary,.adm-btn-secondary,.adm-btn-danger{font-family:inherit;font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;padding:0 16px;font-weight:600;transition:background .15s,border-color .15s,filter .15s;display:inline-flex}.adm-btn-primary{background:var(--accent-strong);color:var(--text-on-accent)}.adm-btn-primary:hover:not(:disabled){background:var(--accent-strong-hover)}.adm-btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong)}.adm-btn-secondary:hover:not(:disabled){background:var(--accent-ghost)}.adm-btn-danger{background:var(--danger);color:var(--text-on-accent)}.adm-btn-danger:hover:not(:disabled){filter:brightness(.92)}.adm-btn-primary:disabled,.adm-btn-secondary:disabled,.adm-btn-danger:disabled{opacity:.5;cursor:not-allowed}.adm-btn-link{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 7px;font-family:inherit;font-size:.82rem;font-weight:600}.adm-btn-link:hover{background:var(--accent-ghost)}.adm-btn-link--danger{color:#c0392b}.adm-btn-link--danger:hover{background:#fdecea}.adm-modal-overlay{z-index:60;background:#0a142873;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.adm-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg);max-height:88vh;padding:24px;overflow-y:auto}.adm-modal--tall{max-width:560px}.adm-modal-title{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 4px;font-weight:700}.adm-modal-sub{color:var(--text-muted);margin:0 0 18px;font-size:.83rem;line-height:1.55}.adm-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.adm-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:.8rem;line-height:1.5}.adm-label{color:var(--text-strong);margin:0 0 6px;font-size:.78rem;font-weight:700;display:block}.adm-input{width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;margin-bottom:16px;padding:0 12px;font-family:inherit}.adm-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.adm-input:disabled{color:var(--text-faint);cursor:not-allowed;background:#f7fafc}.adm-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.adm-input--inline{width:auto;min-width:110px;min-height:30px;margin-bottom:0;padding:0 8px;font-size:.8rem}.adm-subform{border-top:1px solid var(--accent-soft);margin-top:18px;padding-top:16px}.adm-hint{color:var(--text-faint);margin:-10px 0 16px;font-size:.78rem;line-height:1.5}.adm-error{color:#c0392b;margin:0 0 4px;font-size:.8rem}.adm-perms{border:1.5px solid var(--border-soft);border-radius:10px;flex-direction:column;gap:2px;max-height:260px;margin-bottom:16px;padding:6px;display:flex;overflow-y:auto}.adm-perm{cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.adm-perm:hover{background:#f4f9fd}.adm-perm input{flex-shrink:0;margin-top:2px}.adm-perm--disabled{opacity:.55;cursor:not-allowed}.adm-perm--disabled:hover{background:0 0}.adm-perm-text{flex-direction:column;gap:1px;display:flex}.adm-perm-label{color:var(--text-strong);align-items:center;gap:6px;font-size:.83rem;font-weight:600;display:inline-flex}.adm-perm-desc{color:var(--text-muted);font-size:.76rem;line-height:1.45}.adm-perm-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;background:#f4f5f7;border-radius:999px;padding:1px 7px;font-size:.65rem;font-weight:700}@media (width<=720px){.adm-header{padding:20px 16px 0}.adm-card{margin:16px 16px 0}.adm-footnote{margin:12px 16px 20px}.adm-form-row{grid-template-columns:1fr}.adm-chips{max-width:180px}}.sms-counter{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:.76rem;font-weight:600;display:flex}.sms-counter-sep{color:#c8d4e0}.sms-counter-units{color:var(--accent-strong)}.sms-counter-total{color:var(--text-muted);font-weight:500}.sms-counter--multi .sms-counter-chars,.sms-counter--multi .sms-counter-units{color:var(--warning)}.sms-counter-note{color:var(--warning);flex-basis:100%;font-size:.72rem;font-weight:500}.msgd-overlay{z-index:60;background:#0a142873;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.msgd-panel{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-lg);max-height:88vh;padding:22px 24px 20px;overflow-y:auto}.msgd-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.msgd-title{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 2px;font-weight:700}.msgd-sub{color:var(--text-faint);margin:0;font-size:.78rem}.msgd-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0 4px;font-size:1.5rem;line-height:1}.msgd-close:hover{color:var(--text-strong);background:#f4f9fd}.msgd-muted{color:var(--text-muted);margin:0 0 8px;font-size:.85rem;line-height:1.6}.msgd-statusline{align-items:center;gap:10px;margin-bottom:14px;display:flex}.msgd-status{border-radius:999px;padding:4px 12px;font-size:.76rem;font-weight:700;display:inline-block}.msgd-status--sent{background:var(--success-bg);color:#1c7c54}.msgd-status--pending{color:#92400e;background:#fef6e7}.msgd-status--failed{color:#c0392b;background:#fdecea}.msgd-refreshing{color:var(--text-faint);font-size:.74rem;font-style:italic}.msgd-failure{background:#fdecea;border:1px solid #f5d3ce;border-radius:10px;flex-direction:column;gap:3px;margin-bottom:16px;padding:11px 13px;display:flex}.msgd-failure-label{text-transform:uppercase;letter-spacing:.04em;color:#c0392b;font-size:.7rem;font-weight:700}.msgd-failure-text{color:#7f1d1d;word-break:break-word;font-size:.83rem;line-height:1.5}.msgd-body{border:1px solid var(--border-soft);background:#f4f9fd;border-radius:10px;margin-bottom:18px;padding:12px 13px}.msgd-body-text{color:var(--text-strong);white-space:pre-wrap;word-break:break-word;margin:5px 0 8px;font-size:.87rem;line-height:1.6}.msgd-body-meta{color:var(--text-faint);font-size:.74rem}.msgd-grid{grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:16px;display:grid}.msgd-field{flex-direction:column;gap:3px;min-width:0;display:flex}.msgd-field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:.7rem;font-weight:700}.msgd-field-value{color:var(--text-strong);word-break:break-word;font-size:.85rem}.msgd-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.msgd-empty{color:#b6bec9}.msgd-actions{justify-content:flex-end;margin-top:18px;display:flex}.msgd-btn{font-family:inherit;font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;background:var(--accent-strong);color:var(--text-on-accent);border:none;justify-content:center;align-items:center;padding:0 18px;font-weight:600;display:inline-flex}.msgd-btn:hover{background:var(--accent-strong-hover)}@media (width<=560px){.msgd-grid{grid-template-columns:1fr}}.msgd-status--delivered{background:var(--success-bg);color:#12805a}.msgd-status--sent{color:var(--accent-strong);background:#eaf4fb}.msgd-status--undelivered{color:#b4235a;background:#fdeef4}.msgd-system{background:var(--surface-muted);color:#64748b;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.msgd-status-note{color:var(--text-muted);margin:-6px 0 14px;font-size:.8rem;line-height:1.5}.msgd-final{color:var(--text-strong);font-weight:600}.msgd-awaiting{color:var(--text-faint);font-style:italic}.history-page{background:var(--accent-ghost);flex-direction:column;min-height:100%;display:flex}.history-content{box-sizing:border-box;width:100%;padding:20px 28px 40px}.history-header{box-sizing:border-box;width:100%;padding:28px 28px 0}.history-header h1{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.history-header p{color:var(--text-muted);margin:0 0 18px;font-size:.85rem}.history-summary-strip{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:18px;padding:16px 22px;display:flex}.history-summary-item{flex-direction:column;gap:2px;min-width:62px;display:flex}.history-summary-num{color:var(--text-strong);font-size:1.3rem;font-weight:700;line-height:1.1}.history-summary-num--delivered{color:#12805a}.history-summary-num--sent{color:var(--accent-strong)}.history-summary-num--pending{color:#b45309}.history-summary-num--undelivered{color:#b4235a}.history-summary-num--failed{color:#c0392b}.history-summary-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:.7rem;font-weight:700}.history-summary-divider{background:var(--accent-soft);align-self:stretch;width:1px}.history-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.history-toolbar{border-bottom:1px solid var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.history-filters{flex-wrap:wrap;gap:6px;display:flex}.history-filter-btn{color:var(--text-muted);border:1.5px solid var(--border-soft);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.history-filter-btn:hover{background:var(--accent-ghost);border-color:var(--accent)}.history-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.history-filter-btn--delivered:not(.active){color:#12805a}.history-filter-btn--sent:not(.active){color:var(--accent-strong)}.history-filter-btn--pending:not(.active){color:#b45309}.history-filter-btn--undelivered:not(.active){color:#b4235a}.history-filter-btn--failed:not(.active){color:#c0392b}.history-filter-count{background:#00000012;border-radius:999px;padding:0 6px;font-size:.72rem;font-weight:700}.history-filter-btn.active .history-filter-count{background:#ffffff47}.history-search-wrap{flex:1;align-items:center;min-width:200px;max-width:320px;display:flex;position:relative}.history-search-wrap>svg{left:var(--space-3);width:15px;height:15px;color:var(--text-faint);pointer-events:none;flex-shrink:0;position:absolute}.history-search{width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;padding:0 30px 0 34px;font-family:inherit}.history-search:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.history-search-clear{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 4px;font-size:1.1rem;line-height:1;position:absolute;right:8px}.history-search-clear:hover{color:var(--text-strong);background:var(--accent-ghost)}.history-list{flex-direction:column;display:flex}.history-row{border-bottom:1px solid #f2f8fc;align-items:center;gap:13px;padding:13px 16px;display:flex}.history-list>.history-row:last-child{border-bottom:none}.history-row--clickable{text-align:left;width:100%;font-family:inherit;font-size:inherit;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f2f8fc;transition:background .12s}.history-row--clickable:hover{background:#f7fbff}.history-row--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:#f7fbff}.history-row-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.history-row-icon svg{width:16px;height:16px}.history-row-icon--pending{color:#b45309;background:#fef6e7}.history-row-icon--failed{color:#c0392b;background:#fdecea}.history-row-icon--delivered{background:var(--success-bg);color:#12805a}.history-row-icon--sent{color:var(--accent-strong);background:#eaf4fb}.history-row-icon--undelivered{color:#b4235a;background:#fdeef4}.history-grid{grid-template-columns:32px minmax(0,1fr) 132px minmax(0,2.2fr) 150px;align-items:center;column-gap:14px;display:grid}.history-head{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid #e8f2fa;padding:9px 16px;font-size:.7rem;font-weight:700}.history-head-meta{text-align:right}.history-row-name{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;min-height:1em;font-size:.86rem;font-weight:600;overflow:hidden}.history-row-phone{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.82rem}.history-row-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.history-row-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.history-status-badge{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:700}.history-status-badge--pending{color:#b45309;background:#fef6e7}.history-status-badge--failed{color:#c0392b;background:#fdecea}.history-status-badge--delivered{background:var(--success-bg);color:#12805a}.history-status-badge--sent{color:var(--accent-strong);background:#eaf4fb}.history-status-badge--undelivered{color:#b4235a;background:#fdeef4}.history-system-badge{background:var(--surface-muted);color:#64748b;white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:600}.history-row-date{color:var(--text-faint);white-space:nowrap;font-size:.73rem}.history-row--skeleton{pointer-events:none}.history-skeleton-icon,.history-skeleton-line,.history-skeleton-badge{background:linear-gradient(90deg,#eef5fb 25%,#f7fbff 50%,#eef5fb 75%) 0 0/200% 100%;border-radius:6px;animation:1.3s infinite history-shimmer}.history-skeleton-icon{border-radius:50%;flex-shrink:0;width:32px;height:32px}.history-skeleton-body{flex-direction:column;flex:1;gap:7px;display:flex}.history-skeleton-line{height:9px}.history-skeleton-line--wide{width:45%}.history-skeleton-line--narrow{width:70%}.history-skeleton-badge{border-radius:999px;flex-shrink:0;width:64px;height:18px}@keyframes history-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.history-empty{text-align:center;padding:54px 28px}.history-empty-icon{color:#7dd4f0;width:46px;height:46px;margin:0 auto 14px}.history-empty-icon svg{width:100%;height:100%}.history-empty-icon--error{color:#f0a29a}.history-empty-title{color:var(--text-strong);margin:0 0 5px;font-size:1rem;font-weight:700}.history-empty-desc{color:var(--text-muted);max-width:380px;margin:0 auto 18px;font-size:.85rem;line-height:1.6}.history-action-btn{font-family:inherit;font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--accent-strong);justify-content:center;align-items:center;gap:7px;padding:0 18px;font-weight:600;display:inline-flex}.history-action-btn svg{width:15px;height:15px}.history-action-btn:hover{background:var(--accent-ghost)}.history-action-btn--primary{background:var(--accent-strong);color:var(--text-on-accent);border:none}.history-action-btn--primary:hover{background:var(--accent-strong-hover)}.history-action-btn--retry{color:#c0392b;border-color:#f5d3ce}.history-action-btn--retry:hover{background:#fdecea;border-color:#f0a29a}.history-pagination{border-top:1px solid var(--accent-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:14px 16px;display:flex}.history-page-btn{font-family:inherit;font-size:var(--text-base);color:var(--accent-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:0 14px;font-weight:600;display:inline-flex}.history-page-btn svg{width:14px;height:14px}.history-page-btn:hover:not(:disabled){background:var(--accent-ghost)}.history-page-btn:disabled{opacity:.45;cursor:not-allowed}.history-page-info{color:var(--text-strong);font-size:.82rem;font-weight:600}.history-page-total{color:var(--text-faint);font-size:.78rem}.history-footer{text-align:center;color:#a3adba;margin:22px 0 0;font-size:.75rem}@media (width<=720px){.history-head{display:none}.history-grid{grid-template-columns:32px 1fr auto;grid-template-areas:"icon name meta""icon phone meta""icon preview preview";row-gap:2px}.history-grid>.history-row-icon{grid-area:icon;align-self:start}.history-grid>.history-row-name{grid-area:name}.history-grid>.history-row-name:empty{display:none}.history-grid>.history-row-phone{grid-area:phone}.history-grid>.history-row-preview{grid-area:preview}.history-grid>.history-row-meta{grid-area:meta;align-self:start}.history-content{padding:18px 14px}.history-header{padding:18px 14px 0}.history-toolbar{flex-direction:column;align-items:stretch}.history-search-wrap{max-width:none}.history-summary-divider{display:none}}.bulk-preview-cost{background:var(--accent-ghost);border:1px solid var(--border-soft);border-radius:10px;margin:12px 0 0;padding:12px 14px}.bulk-preview-cost p{color:var(--text-strong);margin:4px 0 0;font-size:.95rem;font-weight:700}.bulk-preview-cost-detail{color:var(--text-muted);font-size:.82rem;font-weight:500}.bulk-preview-cost-warn{color:var(--danger)!important;margin-top:6px!important;font-size:.8rem!important;font-weight:600!important}.history-filter-btn--delivered.active{background:var(--success-bg);color:#12805a;border-color:#bfe6d5}.history-filter-btn--undelivered.active{color:#b4235a;background:#fdeef4;border-color:#f5c6d8}.dash2-page{box-sizing:border-box;background:#f5f6fa;min-height:100%;padding:28px 28px 40px}.dash2-title{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.01em;margin:0 0 20px;font-weight:700}.dash2-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.dash2-select{appearance:none;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;font-family:inherit;font-size:var(--text-base);color:var(--text-strong);cursor:pointer;outline:none;min-width:60px;padding:0 30px 0 12px;font-weight:500;transition:border-color .15s,box-shadow .15s}.dash2-select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.dash2-daterange{min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:var(--text-base);color:var(--text-strong);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:0 14px;font-weight:500;transition:border-color .15s;display:flex}.dash2-daterange:hover{border-color:var(--accent)}.dash2-daterange svg{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.dash2-charts-row{grid-template-columns:minmax(0,1fr) 268px;align-items:start;gap:16px;margin-bottom:20px;display:grid}.dash2-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0;padding:20px 22px}.dash2-card--bar{padding-bottom:16px}.dash2-card-legend{border-bottom:1px solid var(--surface-muted);flex-wrap:wrap;gap:14px;margin-bottom:14px;padding-bottom:14px;display:flex}.dash2-legend-item{color:#374151;align-items:center;gap:5px;font-size:.78rem;font-weight:500;display:flex}.dash2-legend-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.dash2-chart-scroll{scrollbar-width:none;overflow-x:auto}.dash2-chart-scroll::-webkit-scrollbar{display:none}.dash2-card--donut{flex-direction:column;align-items:center;gap:0;padding:20px 20px 22px;display:flex}.dash2-card-title{color:var(--text-strong);align-self:flex-start;margin:0 0 14px;font-size:.95rem;font-weight:700}.dash2-donut-center{margin:4px 0 16px}.dash2-donut-legend{flex-direction:column;gap:9px;width:100%;margin-bottom:14px;display:flex}.dash2-donut-row{align-items:center;gap:8px;display:flex}.dash2-donut-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dash2-donut-label{color:#374151;flex:1;font-size:.82rem}.dash2-donut-val{color:var(--text-strong);font-size:.82rem;font-weight:700}.dash2-donut-sub{color:var(--text-muted);text-align:center;border-top:1px solid var(--surface-muted);width:100%;margin:0;padding-top:12px;font-size:.73rem;line-height:1.55}.dash2-card--table{padding:0;overflow:hidden}.dash2-section-header{border-bottom:1px solid var(--surface-muted);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dash2-section-title{color:var(--text-strong);align-items:center;gap:5px;font-size:.9rem;font-weight:700;display:flex}.dash2-section-title svg{color:#9ca3af;width:14px;height:14px}.dash2-view-all{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600;transition:color .15s}.dash2-view-all:hover{color:var(--accent-strong)}.dash2-table-wrap{overflow-x:auto}.dash2-table{border-collapse:collapse;width:100%;font-size:.85rem}.dash2-table thead tr{background:#f8fafc}.dash2-table th{text-align:left;font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--border);padding:11px 16px;font-weight:700}.dash2-table td{color:#374151;border-bottom:1px solid var(--surface-muted);white-space:nowrap;padding:13px 16px}.dash2-table tbody tr:last-child td{border-bottom:none}.dash2-table tbody tr:hover td{background:#fafbfc}.dash2-td-muted{font-size:.81rem;color:#9ca3af!important}.dash2-td-name{font-weight:600;color:var(--text-strong)!important}.dash2-td-sender{letter-spacing:.03em;font-family:Courier New,monospace;font-size:.8rem;font-weight:700;color:var(--accent)!important}.dash2-recipient{flex-direction:column;gap:1px;display:flex}.dash2-recipient-name{letter-spacing:normal;font-family:inherit;font-size:.84rem;font-weight:600;color:var(--text-strong)!important}.dash2-recipient-phone{letter-spacing:.02em;font-family:Courier New,monospace;font-size:.72rem;font-weight:400;color:var(--text-muted)!important}.dash2-status{letter-spacing:.04em;border-radius:20px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.dash2-status--active{color:#15803d;background:#dcfce7}.dash2-status--completed{background:var(--surface-muted);color:#64748b}.dash2-status--failed{background:var(--danger-bg);color:#dc2626}.dash2-status--pending{color:#c2410c;background:#fff7ed}.dash2-footer{text-align:center;color:#9ca3af;margin:32px 0 0;font-size:.72rem}@media (width<=960px){.dash2-charts-row{grid-template-columns:minmax(0,1fr)}.dash2-card--donut{flex-flow:wrap;align-items:center;gap:20px;padding:20px}.dash2-card--donut .dash2-donut-legend{flex:1;min-width:140px;margin-bottom:0}.dash2-card--donut .dash2-donut-sub{text-align:left;border-top:none;padding-top:0}}@media (width<=768px){.dash2-page{padding:20px 16px 40px}.dash2-filters{gap:8px}.dash2-select{padding:0 26px 0 10px}}.dash2-status--sent{color:#1d4ed8;background:#eff6ff}.dash2-status--undelivered{color:#be123c;background:#fff1f2}.dash2-system-badge{background:var(--surface-muted);color:#64748b;vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.68rem;font-weight:600;display:inline-block}.camp-page{background:var(--accent-ghost);flex-direction:column;min-height:100%;display:flex}.camp-header{padding:28px 28px 0}.camp-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.camp-header-text h1{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.camp-header-text p{color:var(--text-muted);margin:0;font-size:.85rem}.camp-new-btn{background:var(--accent-strong);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;align-items:center;gap:7px;padding:0 18px;font-family:inherit;font-weight:600;transition:background .15s;display:flex}.camp-new-btn svg{width:16px;height:16px}.camp-new-btn:hover{background:var(--accent-strong-hover)}.camp-stats-strip{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:0;padding:14px 20px;display:flex}.camp-stat{flex-direction:column;align-items:center;gap:2px;padding:4px 20px;display:flex}.camp-stat-num{color:var(--text-strong);font-size:1.35rem;font-weight:700;line-height:1}.camp-stat-num--scheduled{color:var(--accent-strong)}.camp-stat-num--completed{color:#2e7d32}.camp-stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.camp-stat-divider{background:var(--accent-soft);flex-shrink:0;width:1px;height:28px}.camp-content{flex-direction:column;flex:1;padding:20px 28px 32px;display:flex}.camp-toolbar{border-bottom:1px solid var(--accent-ghost);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.camp-filters{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.camp-filter-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}.camp-filter-btn:hover{background:var(--accent-ghost);color:var(--accent-strong)}.camp-filter-btn.active{color:var(--accent-strong);background:#41bcec1a;border-color:#41bcec4d;font-weight:600}.camp-filter-btn--scheduled.active{color:var(--accent-strong);background:#1270a017;border-color:#1270a040}.camp-filter-btn--sending.active{color:#e65100;background:#e6510014;border-color:#e6510040}.camp-filter-btn--completed.active{color:#2e7d32;background:#2e7d3214;border-color:#2e7d3240}.camp-filter-btn--failed.active{color:#c62828;background:#c6282814;border-color:#c6282840}.camp-search-wrap{align-items:center;display:flex;position:relative}.camp-search-wrap>svg{color:#9ca3af;pointer-events:none;width:15px;height:15px;position:absolute;left:10px}.camp-search{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);outline:none;width:220px;padding:0 32px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.camp-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.camp-search-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:8px}.camp-search-clear svg{width:14px;height:14px}.camp-search-clear:hover{color:#374151}.camp-table-wrap{flex:1;overflow-x:auto}.camp-table{border-collapse:collapse;width:100%;font-size:.875rem}.camp-table thead tr{border-bottom:1.5px solid var(--accent-soft);background:#f8fbff}.ct-th{text-align:left;font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:11px 16px;font-weight:700}.camp-row{border-bottom:1px solid var(--accent-ghost);transition:background .12s}.camp-row:last-child{border-bottom:none}.camp-row:hover{background:var(--surface-sunken)}.camp-row td{vertical-align:middle;padding:14px 16px}.camp-cell-name{color:var(--text-strong);margin-bottom:3px;font-size:.875rem;font-weight:600}.camp-cell-preview{color:#9ca3af;font-size:.8rem;line-height:1.4}.camp-cell-recipients{white-space:nowrap;align-items:center;gap:6px;display:flex}.camp-cell-recipients svg{color:#9ca3af;flex-shrink:0;width:14px;height:14px}.camp-cell-date{flex-direction:column;gap:1px;display:flex}.camp-date-label{color:#9ca3af;font-size:.75rem;font-weight:500}.camp-date-value{color:#374151;white-space:nowrap;font-size:.82rem}.camp-cell-delivery{flex-direction:column;gap:2px;display:flex}.camp-delivery-sent{color:#2e7d32;font-size:.8rem;font-weight:600}.camp-delivery-failed{color:#c62828;font-size:.78rem;font-weight:500}.camp-status-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:.775rem;font-weight:600;display:inline-flex}.camp-status-badge--draft{background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border)}.camp-status-badge--scheduled{background:var(--accent-ghost);color:var(--accent-strong);border:1px solid var(--accent-border)}.camp-status-badge--sending{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.camp-status-badge--completed{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.camp-status-badge--failed{background:var(--danger-bg);color:#c62828;border:1px solid var(--danger-border)}.camp-status-dot{background:#e65100;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s infinite camp-pulse}@keyframes camp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.camp-icon-btn--delete{color:#9ca3af}.camp-icon-btn--delete:hover{background:var(--danger-bg);color:#c62828}@keyframes camp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.camp-empty{text-align:center;flex-direction:column;align-items:center;padding:56px 24px;display:flex}.camp-empty-icon{background:var(--accent-ghost);border:1.5px solid var(--accent-border);width:64px;height:64px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.camp-empty-icon svg{width:28px;height:28px}.camp-empty-icon--error{background:var(--danger-bg);border-color:var(--danger-border);color:#c62828}.camp-empty-title{color:var(--text-strong);margin:0 0 6px;font-size:1.05rem;font-weight:600}.camp-empty-desc{color:var(--text-muted);max-width:340px;margin:0 0 20px;font-size:.85rem}.camp-action-btn{font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.camp-action-btn--retry{background:var(--surface);color:var(--accent-strong);border:1px solid var(--border)}.camp-action-btn--retry:hover{background:var(--accent-ghost)}.camp-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.camp-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:540px;max-height:90vh;display:flex;overflow-y:auto}.camp-modal-header{border-bottom:1px solid var(--accent-ghost);z-index:1;background:#fff;align-items:center;gap:12px;padding:22px 24px 18px;display:flex;position:sticky;top:0}.camp-modal-icon{border:1.5px solid var(--accent-border);width:40px;height:40px;color:var(--accent);background:linear-gradient(135deg,#ebf8ff,#dff4ff);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.camp-modal-icon svg{width:20px;height:20px}.camp-modal-header h2,.camp-modal-header h3{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 3px;font-weight:700}.camp-modal-status-tag{padding:2px 8px!important;font-size:.72rem!important}.camp-modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;transition:background .15s,color .15s;display:flex}.camp-modal-close svg{width:16px;height:16px}.camp-modal-close:hover{background:var(--surface-muted);color:#374151}.camp-modal-close:disabled{opacity:.4;cursor:not-allowed}.camp-modal-body{flex-direction:column;gap:18px;padding:20px 24px;display:flex}.camp-field{flex-direction:column;gap:6px;display:flex}.camp-field label{color:#374151;font-size:.84rem;font-weight:600}.camp-required{color:#c62828}.camp-field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.camp-field-label-row label{margin:0}.camp-field input[type=text],.camp-field input[type=datetime-local],.camp-datetime{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;width:100%;padding:0 13px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.camp-field input[type=text]:focus,.camp-field input[type=datetime-local]:focus,.camp-datetime:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.camp-input--error{border-color:var(--danger)!important}.camp-input--error:focus{box-shadow:0 0 0 3px #e53e3e1a!important}.camp-textarea{border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);resize:vertical;box-sizing:border-box;outline:none;width:100%;padding:10px 13px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.camp-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.camp-textarea--sm{rows:3;font-size:.83rem}.camp-char-count{color:#9ca3af;flex-shrink:0;font-size:.78rem;font-weight:500}.camp-field-error{color:#c62828;margin-top:1px;font-size:.8rem;font-weight:500}.camp-field-hint{color:#9ca3af;margin-top:2px;font-size:.79rem}.camp-radio-group{flex-wrap:wrap;gap:8px;display:flex}.camp-radio-option{border:1.5px solid var(--border);cursor:pointer;min-width:160px;color:var(--text-muted);background:var(--surface-sunken);-webkit-user-select:none;user-select:none;border-radius:10px;flex:1;align-items:center;gap:8px;padding:11px 14px;font-size:.84rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.camp-radio-option input[type=radio]{display:none}.camp-radio-option svg{flex-shrink:0;width:15px;height:15px}.camp-radio-option.active{border-color:var(--accent);color:var(--accent-strong);background:#41bcec12;font-weight:600}.camp-radio-option:hover:not(.active){border-color:var(--accent);background:var(--accent-ghost);color:#374151}.camp-modal-actions{border-top:1px solid var(--accent-ghost);background:#fff;justify-content:flex-end;gap:10px;padding:16px 24px 22px;display:flex;position:sticky;bottom:0}.camp-modal-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.camp-modal-cancel:hover{background:var(--accent-ghost)}.camp-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.camp-modal-save{background:var(--accent-strong);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-width:130px;padding:0 22px;font-family:inherit;font-weight:600;transition:background .15s;display:flex}.camp-modal-save:hover{background:var(--accent-strong-hover)}.camp-modal-save:disabled{opacity:.7;cursor:not-allowed}.camp-spinner{width:18px;height:18px;animation:.8s linear infinite camp-spin}@keyframes camp-spin{to{transform:rotate(360deg)}}.camp-dialog-confirm{background:var(--danger);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 22px;font-family:inherit;font-weight:600;transition:filter .15s;display:inline-flex}.camp-dialog-confirm:hover{filter:brightness(.92)}.camp-dialog-confirm:disabled{opacity:.6;cursor:not-allowed}.camp-view-toggle{background:var(--accent-soft);border:1.5px solid var(--border);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.camp-view-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s,color .15s}.camp-view-btn:hover{color:var(--accent-strong)}.camp-view-btn--active{color:var(--accent-strong);background:#fff;box-shadow:0 1px 2px #102a4314}.camp-cal{flex-direction:column;flex:1;min-width:0;padding:0 28px 28px;display:flex}.camp-cal-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.camp-cal-nav{align-items:center;gap:6px;display:flex}.camp-cal-title{color:var(--text-strong);text-align:center;min-width:10.5ch;margin:0;font-size:1rem;font-weight:700}.camp-cal-nav-btn,.camp-cal-today{border:1.5px solid var(--border);color:var(--accent-strong);cursor:pointer;background:#fff;border-radius:8px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.camp-cal-nav-btn{place-items:center;width:30px;height:30px;padding:0;display:grid}.camp-cal-nav-btn svg{width:16px;height:16px}.camp-cal-today{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);justify-content:center;align-items:center;padding:0 12px;display:inline-flex}.camp-cal-nav-btn:hover{background:var(--accent-ghost);border-color:var(--accent)}.camp-cal-today:not(:disabled):hover{background:var(--accent-ghost)}.camp-cal-today:disabled{opacity:.45;cursor:default}.camp-cal-weekdays,.camp-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.camp-cal-weekdays{margin-bottom:6px}.camp-cal-weekdays span{letter-spacing:.04em;text-transform:uppercase;color:#9ca3af;text-align:center;padding:4px 0;font-size:.72rem;font-weight:700}.camp-cal-grid{background:var(--border);border:1px solid var(--border);border-radius:12px;grid-auto-rows:minmax(92px,1fr);overflow:hidden}.camp-cal-day{background:#fff;flex-direction:column;gap:3px;min-width:0;padding:4px 5px 6px;display:flex}.camp-cal-day--outside{background:#fafcfe}.camp-cal-day--outside .camp-cal-day-num{color:#c4cdd6}.camp-cal-day--past{background:#fbfcfd}.camp-cal-day--today{background:var(--accent-ghost);box-shadow:inset 0 0 0 2px var(--accent)}.camp-cal-day-head{justify-content:space-between;align-items:center;gap:4px;min-height:20px;display:flex}.camp-cal-day-num{color:#4b5563;padding-left:2px;font-size:.78rem;font-weight:600}.camp-cal-day--today .camp-cal-day-num{color:var(--accent-strong);font-weight:800}.camp-cal-add{color:#9ca3af;cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:6px;width:20px;height:20px;font-size:1rem;font-weight:700;line-height:1;transition:opacity .12s,background .12s,color .12s}.camp-cal-day:hover .camp-cal-add,.camp-cal-add:focus-visible{opacity:1;color:var(--accent-strong)}.camp-cal-add:hover{color:var(--accent-strong);background:#d9f1fb}.camp-cal-bar-end{align-items:center;gap:12px;display:flex}.camp-cal-status{color:var(--text-muted);font-size:.78rem}.camp-cal-status--error{color:#c62828}.camp-cal-chip:has(.camp-cal-chip-tenant){flex-wrap:wrap;row-gap:0}.camp-cal-chip-tenant{text-overflow:ellipsis;white-space:nowrap;opacity:.75;flex-basis:100%;font-size:.62rem;font-weight:600;overflow:hidden}.camp-cell-tenant{color:var(--text-muted);font-size:.75rem;display:block}.camp-cal-day-body{flex-direction:column;gap:2px;min-height:0;display:flex;overflow-y:auto}.camp-cal-chip{text-align:left;cursor:pointer;border:none;border-left:3px solid;border-radius:4px;align-items:baseline;gap:5px;width:100%;min-width:0;padding:3px 5px;font-family:inherit;font-size:.7rem;transition:filter .12s;display:flex}.camp-cal-chip:hover{filter:brightness(.96)}.camp-cal-chip-time{opacity:.85;flex:none;font-weight:700}.camp-cal-chip-name{color:#374151;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.camp-cal-chip--scheduled{background:var(--accent-ghost);color:var(--accent-strong)}.camp-cal-chip--sending{color:#e65100;background:#fff3e0}.camp-cal-chip--completed{color:#2e7d32;background:#e8f5e9}.camp-cal-chip--failed{background:var(--danger-bg);color:#c62828}.camp-cal-more{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:1px 5px;font-family:inherit;font-size:.68rem;font-weight:600}.camp-cal-more:hover{color:var(--accent-strong)}.camp-form-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;margin-bottom:12px;padding:8px 10px;display:block}.camp-confirm{flex-direction:column;gap:16px;display:flex}.camp-confirm-summary{flex-wrap:wrap;gap:8px 28px;margin:0 0 4px;display:flex}.camp-confirm-summary div{flex-direction:column;gap:2px;min-width:0;display:flex}.camp-confirm-summary dt{letter-spacing:.04em;text-transform:uppercase;color:#9ca3af;font-size:.7rem;font-weight:700}.camp-confirm-summary dd{color:var(--text-strong);margin:0;font-size:.85rem;font-weight:600}.camp-confirm-prompt{text-align:left;flex:1}.camp-detail-message{color:#374151;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7fbfe;border:1px solid #e3f1fa;border-radius:9px;margin:0;padding:10px 12px;font-size:.85rem}.camp-detail-bar{background:var(--accent-soft);border-radius:4px;height:7px;overflow:hidden}.camp-detail-bar span{background:var(--accent);border-radius:4px;height:100%;transition:width .3s;display:block}.camp-detail-counts{color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:.78rem;display:flex}@media (width<=720px){.camp-cal{padding:0 12px 20px}.camp-cal-grid{grid-auto-rows:minmax(74px,1fr)}.camp-cal-chip-time{display:none}.camp-cal-add{opacity:1}}.camp-group-picker{border:1px solid var(--border);background:var(--surface-sunken);border-radius:10px;flex-direction:column;max-height:208px;display:flex;overflow-y:auto}.camp-group-option{color:var(--text);cursor:pointer;border-bottom:1px solid #eef4f9;align-items:center;gap:10px;padding:9px 12px;font-size:.85rem;display:flex}.camp-group-option:last-child{border-bottom:none}.camp-group-option:hover{background:var(--accent-ghost)}.camp-group-option input{accent-color:var(--accent-strong);cursor:pointer;width:15px;height:15px}.camp-group-name{flex:1;font-weight:600}.camp-group-count{color:var(--text-muted);background:var(--border-soft);border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:600}.camp-group-empty{text-align:center;color:var(--text-faint);margin:0;padding:20px 12px;font-size:.82rem}.conv-page{background:var(--accent-ghost);flex-direction:row;height:100%;display:flex;overflow:hidden}.conv-sidebar{border-right:1.5px solid var(--accent-soft);background:#fff;flex-direction:column;flex-shrink:0;width:320px;transition:transform .25s;display:flex;overflow:hidden}.conv-sidebar-head{border-bottom:1px solid var(--accent-ghost);flex-shrink:0;padding:18px 16px 12px}.conv-sidebar-title-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.conv-sidebar-title-row h2{color:var(--text-strong);margin:0;font-size:1.1rem;font-weight:700}.conv-unread-total{background:var(--accent);color:#fff;text-align:center;border-radius:20px;min-width:20px;padding:2px 7px;font-size:.72rem;font-weight:700}.conv-sidebar-search-wrap{align-items:center;margin-bottom:10px;display:flex;position:relative}.conv-sidebar-search-wrap>svg{color:#9ca3af;pointer-events:none;width:14px;height:14px;position:absolute;left:10px}.conv-sidebar-search{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:var(--control-h);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;padding:0 30px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.conv-sidebar-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.conv-search-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:8px}.conv-search-clear svg{width:13px;height:13px}.conv-search-clear:hover{color:#374151}.conv-list{flex:1;overflow-y:auto}.conv-item{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f5f9fd;align-items:center;gap:10px;width:100%;padding:12px 16px;transition:background .12s;display:flex}.conv-item:hover{background:#f8fcff}.conv-item--active{background:#41bcec14}.conv-item--active:hover{background:#41bcec1f}.conv-item--unread .conv-item-name{font-weight:700}.conv-item-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.8rem;font-weight:700;display:flex;position:relative}.conv-item-body{flex:1;min-width:0}.conv-item-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:.875rem;font-weight:500;overflow:hidden}.conv-item-preview{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.conv-item--unread .conv-item-preview{color:var(--text-muted)}.conv-item-you{color:#9ca3af}.conv-item-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.conv-item-time{color:#9ca3af;white-space:nowrap;font-size:.73rem}.conv-item-badge{background:var(--accent);color:#fff;text-align:center;border-radius:20px;min-width:18px;padding:1px 6px;font-size:.7rem;font-weight:700}@keyframes conv-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.conv-list-error,.conv-list-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.conv-list-error svg,.conv-list-empty svg{color:#9ca3af;width:36px;height:36px;margin-bottom:4px}.conv-list-error p,.conv-list-empty p{color:#374151;margin:0;font-size:.875rem;font-weight:600}.conv-list-empty span{color:#9ca3af;font-size:.78rem}.conv-list-error button{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;margin-top:4px;padding:0 16px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.conv-list-error button:hover{background:var(--accent-ghost)}.conv-thread{background:var(--surface-sunken);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.conv-no-selection{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 32px;display:flex}.conv-no-selection-icon{background:var(--accent-ghost);border:1.5px solid var(--accent-border);color:#90d5ef;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:18px;display:flex}.conv-no-selection-icon svg{width:32px;height:32px}.conv-no-selection-title{color:#374151;margin:0 0 8px;font-size:1.1rem;font-weight:600}.conv-no-selection-desc{color:#9ca3af;max-width:300px;margin:0;font-size:.85rem;line-height:1.5}.conv-thread-head{border-bottom:1.5px solid var(--accent-soft);background:#fff;flex-shrink:0;align-items:center;gap:12px;padding:14px 20px;display:flex;box-shadow:0 1px 4px #41bcec0f}.conv-back-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.conv-back-btn svg{width:20px;height:20px}.conv-back-btn:hover{color:var(--accent-strong);background:var(--accent-ghost)}@media (width>=641px){.conv-back-btn{opacity:.4;pointer-events:none}}.conv-thread-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.8rem;font-weight:700;display:flex}.conv-thread-info{flex:1;min-width:0}.conv-thread-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.conv-thread-phone{color:#9ca3af;font-family:Courier New,monospace;font-size:.78rem}.conv-messages{flex-direction:column;flex:1;gap:10px;padding:20px 24px;display:flex;overflow-y:auto}.conv-msg-loading{flex-direction:column;gap:12px;padding:8px 0;display:flex}.conv-msg-empty{color:#9ca3af;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.conv-msg-empty svg{width:36px;height:36px}.conv-msg-empty p{margin:0;font-size:.85rem}.conv-msg{max-width:72%;display:flex}.conv-msg--out{justify-content:flex-end;align-self:flex-end}.conv-msg--in{align-self:flex-start}.conv-bubble{word-break:break-word;border-radius:18px;max-width:100%;padding:10px 14px 8px}.conv-msg--out .conv-bubble{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#fff;border-radius:18px 18px 4px;box-shadow:0 2px 8px #41bcec40}.conv-msg--in .conv-bubble{color:var(--text-strong);border:1px solid var(--accent-soft);background:#fff;border-radius:18px 18px 18px 4px;box-shadow:0 1px 4px #0000000d}.conv-bubble-text{font-size:.875rem;line-height:1.5}.conv-bubble-foot{justify-content:flex-end;align-items:center;gap:4px;margin-top:4px;display:flex}.conv-bubble-time{opacity:.65;font-size:.7rem}.conv-bubble-tick{opacity:.7;align-items:center;display:flex}.conv-bubble-tick svg{width:13px;height:13px}.conv-bubble-tick--delivered,.conv-bubble-tick--read{opacity:1}.conv-bubble-tick--failed{color:#ffcdd2;opacity:1}.conv-compose{border-top:1.5px solid var(--accent-soft);background:#fff;flex-shrink:0;padding:12px 20px 16px}.conv-compose-inner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px 8px;transition:border-color .15s,box-shadow .15s}.conv-compose-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.conv-compose-textarea{width:100%;font-size:var(--text-base);color:var(--text-strong);resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;max-height:120px;font-family:inherit;line-height:1.5;display:block;overflow-y:auto}.conv-compose-textarea::placeholder{color:#c4d8e5}.conv-compose-textarea:disabled{opacity:.6}.conv-compose-foot{align-items:center;gap:8px;margin-top:6px;display:flex}.conv-compose-hint{color:#c4d8e5;flex:1;font-size:.72rem}.conv-send-btn{border-radius:var(--radius);background:var(--accent-strong);width:34px;height:34px;color:var(--text-on-accent);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.conv-send-btn svg{width:16px;height:16px}.conv-send-btn:hover:not(:disabled){background:var(--accent-strong-hover)}.conv-send-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.conv-spinner{width:16px;height:16px;animation:.8s linear infinite conv-spin}@keyframes conv-spin{to{transform:rotate(360deg)}}@media (width<=640px){.conv-sidebar{z-index:10;width:100%;transition:transform .25s;position:absolute;inset:0}.conv-thread{z-index:10;transition:transform .25s;position:absolute;inset:0;transform:translate(100%)}.conv-back-btn{opacity:1;pointer-events:all}}.surv-page{background:var(--accent-ghost);flex-direction:column;min-height:100%;display:flex}.surv-header{padding:28px 28px 0}.surv-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.surv-header-text h1{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.surv-header-text p{color:var(--text-muted);margin:0;font-size:.85rem}.surv-new-btn{background:var(--accent-strong);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-family:inherit;font-weight:600;transition:background .15s;display:flex}.surv-new-btn svg{width:16px;height:16px}.surv-new-btn:hover{background:var(--accent-strong-hover)}.surv-stats-strip{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:4px;padding:14px 20px;display:flex}.surv-stat{flex-direction:column;align-items:center;gap:2px;padding:4px 20px;display:flex}.surv-stat-num{color:var(--text-strong);font-size:1.35rem;font-weight:700;line-height:1}.surv-stat-num--draft{color:var(--text-muted)}.surv-stat-num--active{color:#2e7d32}.surv-stat-num--closed{color:var(--accent-strong)}.surv-stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.surv-stat-divider{background:var(--accent-soft);flex-shrink:0;width:1px;height:28px}.surv-content{flex-direction:column;flex:1;padding:20px 28px 32px;display:flex}.surv-toolbar{border-bottom:1px solid var(--accent-ghost);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.surv-filters{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.surv-filter-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:500;transition:background .15s,color .15s;display:flex}.surv-filter-btn:hover{background:var(--accent-ghost);color:var(--accent-strong)}.surv-filter-btn.active{color:var(--accent-strong);background:#41bcec1a;border-color:#41bcec4d;font-weight:600}.surv-filter-btn--active.active{color:#2e7d32;background:#2e7d3214;border-color:#2e7d3240}.surv-filter-btn--closed.active{color:var(--accent-strong);background:#1270a014;border-color:#1270a040}.surv-search-wrap{align-items:center;display:flex;position:relative}.surv-search-wrap>svg{color:#9ca3af;pointer-events:none;width:15px;height:15px;position:absolute;left:10px}.surv-search{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;width:220px;padding:0 32px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.surv-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.surv-search-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:8px}.surv-search-clear svg{width:14px;height:14px}.surv-search-clear:hover{color:#374151}.surv-table-wrap{flex:1;overflow-x:auto}.surv-table{border-collapse:collapse;width:100%;font-size:.875rem}.surv-table thead tr{border-bottom:1.5px solid var(--accent-soft);background:#f8fbff}.surv-th{text-align:left;font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:11px 16px;font-weight:700}.surv-th--actions{text-align:right;width:110px}.surv-row{border-bottom:1px solid var(--accent-ghost);transition:background .12s}.surv-row:last-child{border-bottom:none}.surv-row:hover{background:var(--surface-sunken)}.surv-row td{vertical-align:middle;padding:14px 16px}.surv-cell-name{color:var(--text-strong);margin-bottom:2px;font-size:.875rem;font-weight:600}.surv-cell-sub{color:#9ca3af;font-size:.78rem}.surv-cell-count{color:#374151;font-weight:600}.surv-cell-date{color:var(--text-muted);white-space:nowrap;font-size:.82rem}.surv-cell-responses{align-items:baseline;gap:3px;display:flex}.surv-response-num{color:var(--text-strong);font-size:.9rem;font-weight:700}.surv-response-of{color:#9ca3af;font-size:.78rem}.surv-status-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:.775rem;font-weight:600;display:inline-flex}.surv-status-badge--draft{background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border)}.surv-status-badge--active{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.surv-status-badge--closed{background:var(--accent-ghost);color:var(--accent-strong);border:1px solid var(--accent-border)}.surv-status-dot{background:#2e7d32;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s infinite surv-pulse}@keyframes surv-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.surv-row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.surv-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.surv-icon-btn svg{width:15px;height:15px}.surv-icon-btn--launch{color:#2e7d32}.surv-icon-btn--edit{color:var(--text-muted)}.surv-icon-btn--close{color:#e65100}.surv-icon-btn--delete{color:#9ca3af}.surv-icon-btn--launch:hover{color:#1b5e20;background:#e8f5e9}.surv-icon-btn--edit:hover{background:var(--accent-ghost);color:var(--accent-strong)}.surv-icon-btn--close:hover{color:#bf360c;background:#fff3e0}.surv-icon-btn--delete:hover{background:var(--danger-bg);color:#c62828}@keyframes surv-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.surv-empty{text-align:center;flex-direction:column;align-items:center;padding:56px 24px;display:flex}.surv-empty-icon{background:var(--accent-ghost);border:1.5px solid var(--accent-border);width:64px;height:64px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.surv-empty-icon svg{width:28px;height:28px}.surv-empty-icon--error{background:var(--danger-bg);border-color:var(--danger-border);color:#c62828}.surv-empty-title{color:var(--text-strong);margin:0 0 6px;font-size:1.05rem;font-weight:600}.surv-empty-desc{color:var(--text-muted);max-width:340px;margin:0 0 20px;font-size:.85rem}.surv-action-btn{font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.surv-action-btn--retry{background:var(--surface);color:var(--accent-strong);border:1px solid var(--border)}.surv-action-btn--retry:hover{background:var(--accent-ghost)}.surv-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.surv-modal,.surv-launch-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow-y:auto}.surv-launch-modal{max-width:480px}.surv-modal-header{border-bottom:1px solid var(--accent-ghost);z-index:1;background:#fff;align-items:center;gap:12px;padding:22px 24px 18px;display:flex;position:sticky;top:0}.surv-modal-icon{border:1.5px solid var(--accent-border);width:40px;height:40px;color:var(--accent);background:linear-gradient(135deg,#ebf8ff,#dff4ff);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.surv-modal-icon--launch{color:#2e7d32;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#a5d6a7}.surv-modal-icon svg{width:20px;height:20px}.surv-modal-header h2,.surv-modal-header h3{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 2px;font-weight:700}.surv-modal-subtitle{color:#9ca3af;margin:0;font-size:.82rem}.surv-modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;transition:background .15s,color .15s;display:flex}.surv-modal-close svg{width:16px;height:16px}.surv-modal-close:hover{background:var(--surface-muted);color:#374151}.surv-modal-close:disabled{opacity:.4;cursor:not-allowed}.surv-modal-body{flex-direction:column;gap:18px;padding:20px 24px;display:flex}.surv-field{flex-direction:column;gap:6px;display:flex}.surv-field label,.surv-field>label{color:#374151;font-size:.84rem;font-weight:600}.surv-required{color:#c62828}.surv-field input[type=text]{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;width:100%;padding:0 13px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.surv-field input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.surv-input--error{border-color:var(--danger)!important}.surv-input--error:focus{box-shadow:0 0 0 3px #e53e3e1a!important}.surv-field-error{color:#c62828;font-size:.8rem;font-weight:500}.surv-field-hint{color:#9ca3af;font-size:.79rem}.surv-textarea{border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);resize:vertical;box-sizing:border-box;outline:none;width:100%;padding:10px 13px;font-family:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}.surv-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.surv-textarea--sm{font-size:.83rem}.surv-radio-group{flex-wrap:wrap;gap:8px;display:flex}.surv-radio-option{border:1.5px solid var(--border);cursor:pointer;min-width:140px;color:var(--text-muted);background:var(--surface-sunken);-webkit-user-select:none;user-select:none;border-radius:10px;flex:1;align-items:center;gap:8px;padding:10px 14px;font-size:.84rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.surv-radio-option input[type=radio]{display:none}.surv-radio-option svg{flex-shrink:0;width:15px;height:15px}.surv-radio-option.active{border-color:var(--accent);color:var(--accent-strong);background:#41bcec12;font-weight:600}.surv-radio-option:hover:not(.active){border-color:var(--accent);background:var(--accent-ghost);color:#374151}.surv-questions-header{justify-content:space-between;align-items:center;display:flex}.surv-questions-count{color:#9ca3af;font-size:.78rem;font-weight:500}.surv-question-list{flex-direction:column;gap:10px;margin-top:8px;display:flex}.surv-question-card{background:var(--surface-sunken);border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px;transition:border-color .15s}.surv-question-card:focus-within{border-color:var(--accent-border)}.surv-question-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.surv-question-num{background:var(--accent-ghost);color:var(--accent-strong);border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:.75rem;font-weight:700}.surv-question-type-select{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);cursor:pointer;outline:none;flex:1;padding:0 10px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.surv-question-type-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.surv-question-delete{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:flex}.surv-question-delete svg{width:15px;height:15px}.surv-question-delete:hover{background:var(--danger-bg);color:#c62828}.surv-question-input{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:var(--control-h);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;padding:0 12px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.surv-question-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.surv-options{flex-direction:column;gap:6px;margin-top:10px;display:flex}.surv-option-row{align-items:center;gap:6px;display:flex}.surv-option-bullet{color:#9ca3af;flex-shrink:0;width:18px;font-size:.8rem;font-weight:600}.surv-option-input{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);outline:none;flex:1;padding:0 10px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.surv-option-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.surv-option-remove{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s,color .15s;display:flex}.surv-option-remove svg{width:13px;height:13px}.surv-option-remove:hover{background:var(--danger-bg);color:#c62828}.surv-add-option-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-top:2px;padding:4px 2px;font-family:inherit;font-size:.82rem;font-weight:600;transition:color .15s;display:flex}.surv-add-option-btn svg{width:14px;height:14px}.surv-add-option-btn:hover{color:var(--accent-strong)}.surv-add-question-btn{border:1.5px dashed var(--accent-border);color:var(--accent-strong);border-radius:var(--radius);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:4px;padding:10px 16px;font-family:inherit;font-size:.84rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.surv-add-question-btn svg{width:15px;height:15px}.surv-add-question-btn:hover{background:var(--accent-ghost);border-color:var(--accent)}.surv-modal-actions{border-top:1px solid var(--accent-ghost);background:#fff;justify-content:flex-end;gap:10px;padding:16px 24px 22px;display:flex;position:sticky;bottom:0}.surv-modal-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.surv-modal-cancel:hover{background:var(--accent-ghost)}.surv-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.surv-modal-save{background:var(--accent-strong);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-width:120px;padding:0 22px;font-family:inherit;font-weight:600;transition:background .15s;display:flex}.surv-modal-save--launch{background:var(--accent-strong)}.surv-modal-save:hover:not(:disabled){background:var(--accent-strong-hover)}.surv-modal-save:disabled{opacity:.7;cursor:not-allowed}.surv-spinner{width:18px;height:18px;animation:.8s linear infinite surv-spin}@keyframes surv-spin{to{transform:rotate(360deg)}}.surv-dialog{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:400px;padding:32px 28px 24px}.surv-dialog-icon{background:var(--danger-bg);border:1.5px solid var(--danger-border);color:#c62828;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 16px;display:flex}.surv-dialog-icon--warn{color:#e65100;background:#fff3e0;border-color:#ffcc80}.surv-dialog-icon svg{width:22px;height:22px}.surv-dialog h3{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 8px;font-weight:700}.surv-dialog p{color:var(--text-muted);margin:0 0 24px;font-size:.875rem;line-height:1.5}.surv-dialog-actions{justify-content:center;gap:10px;display:flex}.surv-dialog-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:0 22px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.surv-dialog-cancel:hover{background:var(--accent-ghost)}.surv-dialog-cancel:disabled{opacity:.5;cursor:not-allowed}.surv-dialog-confirm{background:var(--danger);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 22px;font-family:inherit;font-weight:600;transition:filter .15s;display:inline-flex}.surv-dialog-confirm--warn{background:var(--danger)}.surv-dialog-confirm:hover:not(:disabled){filter:brightness(.92)}.surv-dialog-confirm:disabled{opacity:.6;cursor:not-allowed}.surv-results-bars{flex-direction:column;gap:10px;margin-top:10px;display:flex}.surv-result-row{flex-direction:column;gap:4px;display:flex}.surv-result-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.surv-result-label{color:#374151;overflow-wrap:anywhere;font-size:.84rem}.surv-result-count{color:var(--accent-strong);white-space:nowrap;font-size:.78rem;font-weight:700}.surv-result-bar{background:var(--accent-soft);border-radius:4px;height:7px;overflow:hidden}.surv-result-bar span{background:var(--accent);border-radius:4px;height:100%;transition:width .3s;display:block}.surv-group-picker{border:1px solid var(--border);background:var(--surface-sunken);border-radius:10px;flex-direction:column;max-height:190px;display:flex;overflow-y:auto}.surv-group-option{color:var(--text);cursor:pointer;border-bottom:1px solid #eef4f9;align-items:center;gap:10px;padding:9px 12px;font-size:.85rem;display:flex}.surv-group-option:last-child{border-bottom:none}.surv-group-option:hover{background:var(--accent-ghost)}.surv-group-option input{accent-color:var(--accent-strong);cursor:pointer;width:15px;height:15px}.surv-group-name{flex:1;font-weight:600}.surv-group-count{color:var(--text-muted);background:var(--border-soft);border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:600}.surv-group-empty{text-align:center;color:var(--text-faint);margin:0;padding:20px 12px;font-size:.82rem}.surv-preview{flex-direction:column;gap:12px;padding:4px 0 8px;display:flex}.contacts-page{background:var(--accent-ghost);flex-direction:column;min-height:100%;display:flex}.contacts-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px 28px 0;display:flex}.contacts-header-text h1{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.contacts-header-text p{color:var(--text-muted);margin:0;font-size:.85rem}.contacts-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.contacts-export-btn{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:0 16px;font-family:inherit;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.contacts-export-btn svg{flex-shrink:0;width:15px;height:15px}.contacts-export-btn:hover{background:var(--accent-ghost)}.contacts-add-btn{background:var(--accent-strong);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:7px;padding:0 18px;font-family:inherit;font-weight:600;transition:background .15s;display:flex}.contacts-add-btn svg{flex-shrink:0;width:16px;height:16px}.contacts-add-btn:hover{background:var(--accent-strong-hover)}.contacts-content{flex-direction:column;flex:1;padding:20px 28px 32px;display:flex}.contacts-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow);flex-direction:row;flex:1;display:flex;overflow:hidden}.contacts-group-panel{border-right:1px solid var(--accent-ghost);background:var(--surface-sunken);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;flex-shrink:0;width:210px;padding:16px 0;display:flex}.contacts-group-panel-head{text-transform:uppercase;letter-spacing:.09em;color:#9ca3af;padding:0 16px 10px;font-size:.68rem;font-weight:700}.contacts-group-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:9px 14px;font-family:inherit;transition:background .12s;display:flex;position:relative}.contacts-group-item:hover{background:var(--accent-ghost)}.contacts-group-item--active{background:var(--accent-soft)}.contacts-group-icon{color:#9ca3af;flex-shrink:0;align-items:center;width:16px;height:16px;display:flex}.contacts-group-icon svg{width:16px;height:16px}.contacts-group-item--active .contacts-group-icon{color:var(--accent)}.contacts-group-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-left:3px}.contacts-group-label{color:#374151;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.84rem;font-weight:500;overflow:hidden}.contacts-group-item--active .contacts-group-label{color:var(--accent-strong);font-weight:700}.contacts-group-count{color:#9ca3af;background:var(--surface-muted);text-align:center;border-radius:99px;flex-shrink:0;min-width:20px;padding:2px 6px;font-size:.72rem;font-weight:700}.contacts-group-item--active .contacts-group-count{background:var(--border);color:var(--accent-strong)}.contacts-group-item-acts{background:var(--accent-ghost);align-items:center;gap:1px;padding-left:4px;display:none;position:absolute;right:6px}.contacts-group-item--active .contacts-group-item-acts{background:var(--accent-soft)}.contacts-group-item:hover .contacts-group-item-acts{display:flex}.contacts-group-act-btn{cursor:pointer;border-radius:var(--radius-sm);color:#9ca3af;background:0 0;border:none;align-items:center;padding:4px;transition:color .12s,background .12s;display:flex}.contacts-group-act-btn svg{width:12px;height:12px}.contacts-group-act-btn:hover{color:#374151;background:#00000012}.contacts-group-act-btn--danger:hover{color:#dc2626;background:var(--danger-bg)}.contacts-group-divider{background:#eef2f7;height:1px;margin:8px 14px}.contacts-group-add-btn{background:var(--surface-sunken);cursor:pointer;color:var(--accent);text-align:left;border:none;align-items:center;gap:8px;width:100%;margin-top:auto;padding:9px 14px;font-family:inherit;font-size:.84rem;font-weight:600;transition:background .12s,color .12s;display:flex}.contacts-group-add-btn svg{flex-shrink:0;width:15px;height:15px}.contacts-group-add-btn:hover{background:var(--accent-ghost);color:var(--accent-strong)}.contacts-main{flex-direction:column;flex:1;min-width:0;display:flex}.contacts-toolbar{border-bottom:1px solid var(--accent-ghost);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.contacts-select-all-wrap{flex-shrink:0;align-items:center;display:flex}.contacts-search-wrap{flex:1;align-items:center;min-width:160px;display:flex;position:relative}.contacts-search-wrap>svg{color:#9ca3af;pointer-events:none;width:14px;height:14px;position:absolute;left:11px}.contacts-search{box-sizing:border-box;width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);padding:0 34px 0 32px;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.contacts-search:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.contacts-search::placeholder{color:#9ca3af}.contacts-search-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;right:7px}.contacts-search-clear:hover{color:var(--accent)}.contacts-search-clear svg{width:12px;height:12px}.contacts-sort-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.contacts-sort-wrap>svg{width:13px;height:13px;color:var(--text-muted);pointer-events:none;position:absolute;left:9px}.contacts-sort-select{min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);cursor:pointer;appearance:none;min-width:128px;padding:0 10px 0 26px;font-family:inherit;font-weight:500;transition:border-color .15s,box-shadow .15s}.contacts-sort-select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.contacts-manage-btn{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:0 11px;font-family:inherit;font-weight:600;transition:background .15s,border-color .15s;display:flex}.contacts-manage-btn svg{flex-shrink:0;width:13px;height:13px}.contacts-manage-btn:hover{background:var(--accent-ghost)}.contacts-count{color:#9ca3af;white-space:nowrap;flex-shrink:0;font-size:.76rem;font-weight:600}.contacts-bulk-bar{border-bottom:1px solid var(--accent-border);background:linear-gradient(90deg,#e8f4fb,#f0fbff);flex-wrap:wrap;align-items:center;gap:10px;padding:11px 18px;animation:.2s bulk-bar-in;display:flex}@keyframes bulk-bar-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.contacts-bulk-info{color:var(--accent-strong);flex:1;align-items:center;gap:6px;font-size:.84rem;font-weight:600;display:flex}.contacts-bulk-info svg{width:15px;height:15px;color:var(--accent)}.contacts-bulk-actions{align-items:center;gap:7px;display:flex}.contacts-bulk-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:0 12px;font-family:inherit;font-weight:600;transition:background .15s,border-color .15s;display:flex}.contacts-bulk-btn svg{flex-shrink:0;width:13px;height:13px}.contacts-bulk-btn:hover{background:var(--accent-ghost)}.contacts-bulk-btn--export{color:var(--accent-strong)}.contacts-bulk-btn--export:hover{background:var(--accent-ghost)}.contacts-bulk-btn--delete{color:var(--danger)}.contacts-bulk-btn--delete:hover{background:var(--danger-bg)}.contacts-bulk-btn--delete:disabled{opacity:.6;cursor:not-allowed}.contacts-bulk-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 7px;font-family:inherit;font-size:.76rem;font-weight:500;transition:color .15s,background .15s}.contacts-bulk-clear:hover{color:#374151;background:#0000000a}.contacts-table-wrap{flex:1;overflow-x:auto}.contacts-table{border-collapse:collapse;width:100%;font-size:.86rem}.ct-th{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--accent-soft);white-space:nowrap;z-index:1;background:#f8fbfe;padding:10px 14px;font-weight:700;position:sticky;top:0}.contacts-table tbody tr{border-bottom:1px solid var(--accent-ghost);transition:background .12s}.contacts-table tbody tr:last-child{border-bottom:none}.contacts-table tbody tr:hover{background:var(--surface-sunken)}.contacts-table tbody tr:hover .contacts-row-actions{opacity:1}.ct-row--selected{background:var(--accent-ghost)!important}.ct-row--selected:hover{background:var(--accent-soft)!important}.ct-row--skeleton td{padding:10px 14px}.contacts-table td{color:#374151;vertical-align:middle;padding:11px 14px}.ct-col-cb{text-align:center;width:40px;padding-left:14px!important}.ct-col-num{text-align:center;width:44px}.ct-col-actions{text-align:right;width:100px}.ct-cell-mono{color:#374151;font-family:SF Mono,Fira Code,monospace;font-size:.82rem}.ct-cell-muted{color:#9ca3af}.ct-cell-placeholder{font-size:.82rem}.ct-cell-notes{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.ct-cell-name{align-items:center;gap:9px;display:flex}.ct-name-text{color:var(--text-strong);white-space:nowrap;font-weight:600}.contacts-row-check{flex-shrink:0;align-items:center;display:flex}.contacts-cb{border:2px solid var(--border);cursor:pointer;appearance:none;background:#fff;border-radius:4px;flex-shrink:0;width:17px;height:17px;transition:background .12s,border-color .12s;position:relative}.contacts-cb:hover{border-color:var(--accent)}.contacts-cb:checked{background:var(--accent);border-color:var(--accent)}.contacts-cb:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.contacts-cb:focus{outline:none;box-shadow:0 0 0 3px #41bcec33}.contacts-row-avatar{color:#fff;-webkit-user-select:none;user-select:none;letter-spacing:.03em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.76rem;font-weight:700;display:flex}.contacts-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.contacts-row-name{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.contacts-row-phone{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:.78rem}.contacts-row-actions{opacity:0;justify-content:flex-end;align-items:center;gap:3px;transition:opacity .15s;display:flex}.contacts-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .13s,color .13s;display:flex}.contacts-icon-btn svg{width:14px;height:14px}.contacts-icon-btn--message{color:var(--accent)}.contacts-icon-btn--message:hover{background:var(--accent-soft)}.contacts-icon-btn--edit{color:var(--text-muted)}.contacts-icon-btn--edit:hover{background:var(--surface-muted);color:#374151}.contacts-icon-btn--delete{color:#f87171}.contacts-icon-btn--delete:hover{background:var(--danger-bg);color:#dc2626}.contacts-row--skeleton,.ct-row--skeleton{pointer-events:none}.cn-sk-cb{background:linear-gradient(90deg,#e8f4fb 25%,#d1e9f5 50%,#e8f4fb 75%) 0 0/800px 100%;border-radius:4px;width:17px;height:17px;margin:0 auto;animation:1.4s linear infinite sk-shimmer}@keyframes sk-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.cn-sk-avatar{background:linear-gradient(90deg,#e8f4fb 25%,#d1e9f5 50%,#e8f4fb 75%) 0 0/800px 100%;border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1.4s linear infinite sk-shimmer}.cn-sk-line{background:linear-gradient(90deg,#e8f4fb 25%,#d1e9f5 50%,#e8f4fb 75%) 0 0/800px 100%;border-radius:5px;height:9px;animation:1.4s linear infinite sk-shimmer}.cn-sk-line--wide{width:55%}.cn-sk-line--narrow{width:30%}.cn-sk-actions{background:linear-gradient(90deg,#e8f4fb 25%,#d1e9f5 50%,#e8f4fb 75%) 0 0/800px 100%;border-radius:7px;width:74px;height:26px;animation:1.4s linear infinite sk-shimmer}.contacts-empty{text-align:center;flex-direction:column;align-items:center;gap:9px;padding:52px 24px;display:flex}.contacts-empty-icon{background:var(--accent-ghost);border:1px solid var(--accent-border);width:52px;height:52px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.contacts-empty-icon svg{width:24px;height:24px}.contacts-empty-icon--error{background:var(--danger-bg);border-color:var(--danger-border);color:#f87171}.contacts-empty-title{color:var(--text-strong);margin:0;font-size:.98rem;font-weight:700}.contacts-empty-desc{color:var(--text-muted);max-width:260px;margin:0;font-size:.84rem;line-height:1.5}.contacts-action-btn{font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;margin-top:4px;padding:0 18px;font-family:inherit;font-weight:600;transition:background .15s;display:flex}.contacts-action-btn--primary{background:var(--accent-strong);color:var(--text-on-accent)}.contacts-action-btn--primary:hover{background:var(--accent-strong-hover)}.contacts-action-btn--retry{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong)}.contacts-action-btn--retry:hover{background:var(--accent-ghost)}.contacts-footer{text-align:center;color:#9ca3af;padding:20px 0 0;font-size:.75rem}.contacts-pagination{border-top:1px solid var(--accent-ghost);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.contacts-pagination-info{color:#9ca3af;white-space:nowrap;font-size:.78rem;font-weight:600}.contacts-pagination-controls{align-items:center;gap:3px;display:flex}.cn-page-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);color:#374151;cursor:pointer;background:#fff;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 6px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .13s,border-color .13s,color .13s;display:flex}.cn-page-btn svg{flex-shrink:0;width:14px;height:14px}.cn-page-btn:hover:not(:disabled){background:var(--accent-ghost);border-color:var(--accent);color:var(--accent-strong)}.cn-page-btn:disabled{opacity:.38;cursor:not-allowed}.cn-page-btn--num{min-width:32px}.cn-page-btn--active{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#fff;border-color:#0000;box-shadow:0 2px 8px #41bcec59}.cn-page-btn--active:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#fff}.cn-page-ellipsis{color:#9ca3af;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-width:28px;height:32px;font-size:.82rem;display:flex}.contacts-overlay{z-index:1300;background:#00000061;justify-content:center;align-items:center;padding:24px;animation:.18s overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.contacts-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:.22s cubic-bezier(0,0,.2,1) modal-in;overflow:hidden}.contacts-modal-header{border-bottom:1px solid var(--accent-ghost);align-items:center;gap:12px;padding:20px 20px 14px;display:flex}.contacts-modal-icon{background:var(--accent-ghost);border:1px solid var(--accent-border);width:38px;height:38px;color:var(--accent);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contacts-modal-icon svg{width:18px;height:18px}.contacts-modal-header h2,.contacts-modal-header h3{font-size:var(--text-lg);color:var(--text-strong);flex:1;margin:0;font-weight:700}.contacts-modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .13s,background .13s;display:flex}.contacts-modal-close svg{width:15px;height:15px}.contacts-modal-close:hover{color:#374151;background:var(--surface-muted)}.contacts-modal-body{flex-direction:column;gap:16px;padding:20px;display:flex}.contacts-modal-field{flex-direction:column;gap:5px;display:flex}.contacts-modal-field label{color:#374151;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.contacts-modal-field input{box-sizing:border-box;width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);padding:0 13px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.contacts-modal-field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.contacts-modal-field input::placeholder{color:#9ca3af}.contacts-modal-field textarea{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:72px;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);resize:vertical;padding:10px 13px;font-family:inherit;line-height:1.4;transition:border-color .15s,box-shadow .15s}.contacts-modal-field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.contacts-modal-field textarea::placeholder{color:#9ca3af}.contacts-field-error{color:#dc2626;font-size:.77rem;font-weight:500}.contacts-field-hint{color:#9ca3af;font-size:.77rem}.contacts-modal-actions{justify-content:flex-end;gap:10px;padding:0 20px 20px;display:flex}.contacts-modal-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:0 18px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.contacts-modal-cancel:hover:not(:disabled){background:var(--accent-ghost)}.contacts-modal-cancel:disabled{opacity:.6;cursor:not-allowed}.contacts-modal-save{background:var(--accent-strong);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;min-width:110px;padding:0 20px;font-family:inherit;font-weight:600;transition:background .15s;display:flex}.contacts-modal-save:hover:not(:disabled){background:var(--accent-strong-hover)}.contacts-modal-save:disabled{opacity:.7;cursor:not-allowed}.contacts-spinner{width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.contacts-dialog{background:var(--surface);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:340px;box-shadow:var(--shadow-lg);padding:26px 22px 22px;animation:.22s cubic-bezier(0,0,.2,1) modal-in}.contacts-dialog-icon{background:var(--danger-bg);border:1px solid var(--danger-border);color:#dc2626;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:0 auto 13px;display:flex}.contacts-dialog-icon svg{width:21px;height:21px}.contacts-dialog h3{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 7px;font-weight:700}.contacts-dialog p{color:var(--text-muted);margin:0 0 20px;font-size:.86rem;line-height:1.5}.contacts-dialog-actions{justify-content:center;gap:9px;display:flex}.contacts-dialog-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.contacts-dialog-cancel:hover:not(:disabled){background:var(--accent-ghost)}.contacts-dialog-cancel:disabled{opacity:.6;cursor:not-allowed}.contacts-dialog-confirm{background:var(--danger);color:var(--text-on-accent);font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;font-weight:600;transition:filter .15s;display:inline-flex}.contacts-dialog-confirm:hover:not(:disabled){filter:brightness(.92)}.contacts-dialog-confirm:disabled{opacity:.7;cursor:not-allowed}.contacts-group-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);animation:.22s cubic-bezier(0,0,.2,1) modal-in;overflow:hidden}.contacts-group-form{flex-direction:column;gap:18px;padding:20px;display:flex}.contacts-group-form label{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.75rem;font-weight:700;display:block}.contacts-group-name-input{box-sizing:border-box;width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);padding:0 13px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.contacts-group-name-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.contacts-group-name-input::placeholder{color:#9ca3af}.contacts-color-picker{flex-wrap:wrap;gap:9px;display:flex}.contacts-color-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;outline:none;width:28px;height:28px;transition:transform .12s;position:relative}.contacts-color-swatch:hover{transform:scale(1.15)}.contacts-color-swatch--active{transform:scale(1.1);box-shadow:0 0 0 2px #fff,0 0 0 4px #00000040}.contacts-member-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:82vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s cubic-bezier(0,0,.2,1) modal-in;display:flex;overflow:hidden}.contacts-member-modal-head{border-bottom:1px solid var(--accent-ghost);flex-shrink:0;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.contacts-member-modal-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.contacts-member-modal-icon svg{width:17px;height:17px}.contacts-member-modal-head h3{font-size:var(--text-lg);color:var(--text-strong);flex:1;margin:0;font-weight:700}.contacts-member-search-wrap{border-bottom:1px solid var(--accent-ghost);flex-shrink:0;align-items:center;padding:12px 16px;display:flex;position:relative}.contacts-member-search-wrap>svg{color:#9ca3af;pointer-events:none;width:14px;height:14px;position:absolute;left:27px}.contacts-member-search{box-sizing:border-box;width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);padding:0 12px 0 30px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.contacts-member-search:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.contacts-member-search::placeholder{color:#9ca3af}.contacts-member-list{flex:1;overflow-y:auto}.contacts-member-row{cursor:pointer;border-bottom:1px solid #f9fafb;align-items:center;gap:11px;padding:10px 18px;transition:background .12s;display:flex}.contacts-member-row:last-child{border-bottom:none}.contacts-member-row:hover{background:var(--surface-sunken)}.contacts-member-row--in-group{background:var(--accent-ghost)}.contacts-member-row--in-group:hover{background:var(--accent-soft)}.contacts-member-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.7rem;font-weight:700;display:flex}.contacts-member-info{flex:1;min-width:0}.contacts-member-name{color:var(--text-strong);font-size:.86rem;font-weight:600}.contacts-member-phone{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:.76rem}.contacts-member-badge{color:var(--accent-strong);background:var(--border);border-radius:99px;flex-shrink:0;padding:2px 7px;font-size:.7rem;font-weight:700}.contacts-member-modal-foot{border-top:1px solid var(--accent-ghost);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.contacts-member-modal-count{color:#9ca3af;font-size:.8rem;font-weight:600}.contacts-member-modal-btns{gap:9px;display:flex}@media (width<=768px){.contacts-card{flex-direction:column}.contacts-group-panel{border-right:none;border-bottom:1px solid var(--accent-ghost);border-radius:var(--radius-lg) var(--radius-lg) 0 0;scrollbar-width:none;flex-flow:row;gap:6px;width:100%;padding:10px 12px;overflow-x:auto}.contacts-group-panel::-webkit-scrollbar{display:none}.contacts-group-panel-head,.contacts-group-divider{display:none}.contacts-group-item{background:var(--surface-sunken);border-radius:99px;flex-shrink:0;width:auto;padding:6px 12px}.contacts-group-item--active{background:var(--accent-soft)}.contacts-group-item-acts{display:none!important}.contacts-group-icon{display:none}.contacts-group-add-btn{background:var(--surface-sunken);border-radius:99px;flex-shrink:0;width:auto;margin-top:0;padding:6px 12px;font-size:.8rem}}@media (width<=640px){.contacts-header{padding:20px 16px 0}.contacts-content{padding:16px 16px 24px}.contacts-toolbar{gap:8px;padding:11px 12px}.contacts-row-actions{opacity:1}.contacts-sort-select{min-width:108px}.contacts-header-actions{width:100%}.contacts-add-btn,.contacts-export-btn{flex:1;justify-content:center}}.import-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:580px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s cubic-bezier(0,0,.2,1) modal-in;display:flex;overflow:hidden}.import-modal-head{border-bottom:1px solid var(--accent-ghost);flex-shrink:0;align-items:center;gap:12px;padding:20px 20px 14px;display:flex}.import-modal-icon{background:var(--accent-ghost);border:1px solid var(--accent-border);width:40px;height:40px;color:var(--accent);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.import-modal-icon svg{width:19px;height:19px}.import-modal-title-wrap{flex:1;min-width:0}.import-modal-title-wrap h3{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 2px;font-weight:700}.import-modal-title-wrap p{color:var(--text-muted);margin:0;font-size:.8rem}.import-steps{border-bottom:1px solid var(--accent-ghost);flex-shrink:0;align-items:center;padding:16px 24px 12px;display:flex}.import-step{flex-shrink:0;align-items:center;gap:8px;display:flex}.import-step-dot{background:var(--surface-muted);color:#9ca3af;border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:flex}.import-step-dot svg{width:11px;height:11px}.import-step--active .import-step-dot{background:var(--accent);color:#fff;border-color:var(--accent)}.import-step--done .import-step-dot{background:var(--border);color:var(--accent-strong);border-color:var(--accent-border)}.import-step>span{color:#9ca3af;white-space:nowrap;font-size:.8rem;font-weight:500}.import-step--active>span{color:var(--accent-strong);font-weight:700}.import-step--done>span{color:var(--text-muted)}.import-step-line{background:var(--border);flex:1;min-width:20px;height:1px;margin:0 10px}.import-body{flex:1;padding:20px;overflow-y:auto}.import-dropzone{border:2px dashed var(--accent-border);cursor:pointer;text-align:center;background:var(--surface-sunken);-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:44px 24px;transition:background .15s,border-color .15s;display:flex}.import-dropzone:hover,.import-dropzone--active{background:var(--accent-ghost);border-color:var(--accent)}.import-dropzone-icon{background:var(--accent-soft);border:1px solid var(--accent-border);width:52px;height:52px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;display:flex}.import-dropzone-icon svg{width:26px;height:26px}.import-dropzone-label{color:#374151;margin:0;font-size:.92rem;font-weight:600}.import-dropzone-label span{color:var(--accent);text-decoration:underline}.import-dropzone-hint{color:#9ca3af;margin:0;font-size:.78rem}.import-parse-error{color:#dc2626;margin:0;font-size:.82rem;font-weight:500}.import-map{flex-direction:column;gap:18px;display:flex}.import-map-desc{color:#374151;margin:0;font-size:.88rem;line-height:1.6}.import-map-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.import-map-field{flex-direction:column;gap:6px;display:flex}.import-map-field label{color:#374151;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.import-map-field select{min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);cursor:pointer;padding:0 10px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.import-map-field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.import-map-preview{flex-direction:column;gap:8px;display:flex}.import-map-preview-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.76rem;font-weight:700}.import-table{border-collapse:collapse;border:1px solid var(--accent-soft);border-radius:10px;width:100%;font-size:.84rem;overflow-x:auto}.import-table th{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--accent-soft);background:#f8fbfe;padding:8px 12px;font-weight:700}.import-table td{color:#374151;border-bottom:1px solid var(--accent-ghost);padding:8px 12px}.import-table tr:last-child td{border-bottom:none}.import-preview{flex-direction:column;gap:16px;display:flex}.import-stats{gap:12px;display:flex}.import-stat{border:1.5px solid var(--border);border-radius:10px;flex-direction:column;flex:1;align-items:center;padding:12px 10px;display:flex}.import-stat-num{font-size:1.4rem;font-weight:800;line-height:1}.import-stat-label{color:var(--text-muted);text-align:center;margin-top:3px;font-size:.72rem;font-weight:500}.import-stat--valid{background:var(--accent-ghost);border-color:var(--accent-border)}.import-stat--valid .import-stat-num{color:var(--accent-strong)}.import-stat--skip{background:#fff7ed;border-color:#fed7aa}.import-stat--skip .import-stat-num{color:#c2410c}.import-stat--total{border-color:var(--border);background:#f9fafb}.import-stat--total .import-stat-num{color:#374151}.import-table-wrap{border:1px solid var(--accent-soft);border-radius:10px;max-height:280px;overflow:auto}.import-table--full{border:none;border-radius:0}.import-table--full td,.import-table--full th{padding:7px 12px}.import-col-num{text-align:center;width:36px}.import-col-status{min-width:160px}.import-cell-muted{font-size:.76rem;color:#9ca3af!important}.import-cell-mono{font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.import-cell-empty{color:#d1d5db;font-style:italic}.import-row--valid td{background:#fff}.import-row--duplicate td{background:#fff7ed}.import-row--bad-format td{background:var(--danger-bg)}.import-row--missing td{background:#fafafa}.import-badge{white-space:nowrap;border-radius:99px;align-items:center;padding:2px 7px;font-size:.7rem;font-weight:700;display:inline-flex}.import-badge--valid{background:var(--border);color:var(--accent-strong)}.import-badge--duplicate{color:#c2410c;background:#ffedd5}.import-badge--bad-format{background:var(--danger-bg);color:#dc2626}.import-badge--missing{background:var(--surface-muted);color:var(--text-muted)}.import-row-error{color:#9ca3af;margin-top:2px;font-size:.72rem;display:block}.import-footer{border-top:1px solid var(--accent-ghost);flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}@media (width<=640px){.import-map-fields{grid-template-columns:1fr}.import-stats{flex-direction:column}.import-modal-title-wrap p{display:none}}.contacts-modal--wide{max-width:720px}.contacts-input--error,.contacts-field input.contacts-input--error{border-color:var(--danger-border);background:snow}.contacts-status-badge{letter-spacing:.01em;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:.7rem;font-weight:700;display:inline-flex}.contacts-status-badge--draft{background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border)}.contacts-status-badge--completed{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.contacts-status-badge--sending{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.contacts-status-badge--failed{background:var(--danger-bg);color:#c62828;border:1px solid var(--danger-border)}.int-list{flex-direction:column;gap:10px;margin:14px 0;display:flex}.int-row{border:1.5px solid var(--border);background:#fff;border-radius:11px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.int-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.int-row-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.int-off{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-size:.68rem;font-weight:700}.int-row-url{color:var(--accent-strong);overflow-wrap:anywhere;font-size:.78rem}.int-row-meta{color:var(--text-muted);overflow-wrap:anywhere;font-size:.74rem}.int-row-meta code{background:var(--accent-ghost);border-radius:4px;padding:1px 4px;font-size:.72rem}.int-row-actions{flex-wrap:wrap;gap:6px;display:flex}.int-preset-btn{border:1.5px dashed var(--accent-border);background:var(--surface-sunken);border-radius:var(--radius);color:var(--accent-strong);cursor:pointer;align-self:flex-start;margin-bottom:6px;padding:7px 12px;font-family:inherit;font-size:.8rem;font-weight:600}.int-preset-btn:hover{border-color:var(--accent);background:#eaf6fd}.int-result{border-top:1px solid #e3f1fa;flex-direction:column;gap:8px;padding-top:10px;display:flex}.int-result--dry{background:#fffdf5;border-radius:0 0 10px 10px;margin:0 -14px -12px;padding:10px 14px 12px}.int-result-head{color:var(--text-strong);justify-content:space-between;align-items:baseline;gap:10px;margin:0;font-size:.82rem;font-weight:700;display:flex}.int-result-rows{color:var(--text-muted);font-size:.76rem;font-weight:500}.int-result-group{font-size:var(--text-sm);color:var(--text);margin:6px 0 0}.int-result-counts{color:#4b5563;flex-wrap:wrap;gap:4px 16px;font-size:.78rem;display:flex}.int-result-counts strong{color:var(--accent-strong)}.int-result-skipped strong{color:#c62828}.int-result-skips{color:var(--text-muted);max-height:140px;margin:0;padding-left:18px;font-size:.75rem;overflow-y:auto}@media (width<=640px){.int-row-actions>button{flex:auto}}.contacts-modal--wide{flex-direction:column;max-height:calc(100vh - 48px);display:flex}.contacts-modal--wide .contacts-modal-header,.contacts-modal--wide .contacts-modal-actions{flex-shrink:0}.contacts-modal--wide .contacts-modal-actions{border-top:1px solid var(--accent-ghost);padding-top:14px}.int-body{min-height:0;overflow-y:auto}.contacts-modal-field input.contacts-input--error{border-color:var(--danger-border);background:snow}.contacts-modal-field input.contacts-input--error:focus{box-shadow:0 0 0 3px #ef9a9a2e}.contacts-field-hint{line-height:1.5}.contacts-field-hint code,.int-intro code{background:var(--accent-ghost);color:var(--accent-strong);border-radius:4px;padding:1px 4px;font-size:.72rem}p.contacts-field-hint{margin:0}.int-intro{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.55}.int-empty{padding:28px 16px}.int-empty .contacts-empty-desc{max-width:340px}.int-list{margin:0}.int-list:empty{display:none}.int-add-btn{align-self:flex-start}.int-row-actions .contacts-action-btn{margin-top:0;padding:7px 14px;font-size:.8rem}.contacts-action-btn--secondary{border:1.5px solid var(--border);color:var(--accent-strong);background:#fff}.contacts-action-btn--secondary:hover:not(:disabled){background:var(--accent-ghost)}.contacts-action-btn--danger{border:1.5px solid var(--danger-border);color:#dc2626;background:#fff}.contacts-action-btn--danger:hover:not(:disabled){background:var(--danger-bg)}.contacts-action-btn:disabled{opacity:.55;cursor:not-allowed}.int-section{border:1.5px solid #e3f1fa;border-radius:12px;flex-direction:column;gap:14px;min-width:0;margin:0;padding:14px 16px 16px;display:flex}.int-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong);padding:0 6px;font-size:.72rem;font-weight:700}.int-form-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.int-form-grid>.contacts-modal-field{min-width:0}.int-preset{background:#f7fbfe;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.int-preset .int-preset-btn{background:#fff;margin-bottom:0}@media (width<=640px){.contacts-overlay{padding:12px}.contacts-modal--wide{border-radius:14px;max-height:calc(100vh - 24px)}.int-form-grid{grid-template-columns:1fr}.int-section{padding:12px}.int-add-btn{justify-content:center;align-self:stretch}.contacts-modal--wide .contacts-modal-actions>button{flex:1}}.bl-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px 10px;display:flex}.bl-tabs{gap:6px;display:flex}.bl-tab{color:var(--text-muted);border:1.5px solid var(--border-soft);cursor:pointer;background:#fff;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.bl-tab:hover{background:var(--accent-ghost);border-color:var(--accent)}.bl-tab--active{background:var(--accent);border-color:var(--accent);color:#fff}.bl-search{max-width:260px;margin-bottom:0}.bl-blurb{color:var(--text-faint);margin:0 16px 12px;font-size:.79rem;line-height:1.55}.bl-bulkbar{border:1px solid var(--border-soft);color:var(--accent-strong);background:#f4f9fd;border-radius:10px;align-items:center;gap:12px;margin:0 16px 12px;padding:9px 13px;font-size:.82rem;font-weight:600;display:flex}.bl-check-col{width:36px}.bl-nocandidates{padding:8px 10px}.sid-page{background:#f0f7ff;flex-direction:column;min-height:100%;display:flex}.sid-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px 28px 0;display:flex}.sid-header h1{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.sid-header p{color:var(--text-muted);max-width:60ch;margin:0;font-size:.85rem}.sid-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin:20px 28px 0;overflow-x:auto}.sid-card:last-of-type{margin-bottom:28px}.sid-section-title{color:var(--text-strong);align-items:center;gap:10px;margin:28px 28px 0;font-size:1rem;font-weight:700;display:flex}.sid-section-title span{color:var(--text-muted);font-size:.78rem;font-weight:600}.sid-pad{padding:28px}.sid-muted{color:var(--text-muted);font-size:.85rem}.sid-btn-primary{background:var(--accent-strong);color:var(--text-on-accent);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-weight:600;transition:background .15s;display:inline-flex}.sid-btn-primary:hover:not(:disabled){background:var(--accent-strong-hover)}.sid-btn-primary:disabled{opacity:.55;cursor:not-allowed}.sid-action-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:30px;color:var(--accent-strong);cursor:pointer;justify-content:center;align-items:center;padding:0 11px;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.sid-action-btn:hover:not(:disabled){background:var(--accent-ghost)}.sid-action-btn--approve{color:var(--success);border-color:#bfe6d5}.sid-action-btn--approve:hover:not(:disabled){background:var(--success-bg)}.sid-action-btn--reject{color:var(--danger);border-color:#f3c9cf}.sid-action-btn--reject:hover:not(:disabled){background:var(--danger-bg)}.sid-action-btn:disabled{opacity:.5;cursor:not-allowed}.sid-table{border-collapse:collapse;width:100%;font-size:.85rem}.sid-th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);white-space:nowrap;border-bottom:1px solid #eaf2f8;padding:13px 16px;font-weight:700}.sid-table td{color:var(--text);vertical-align:top;border-bottom:1px solid #f2f7fb;padding:13px 16px}.sid-table tr:last-child td{border-bottom:none}.sid-value{color:var(--text-strong);letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.sid-note{color:#8a94a6;max-width:44ch;margin-top:4px;font-size:.78rem;line-height:1.5;display:block}.sid-row-actions{flex-wrap:wrap;gap:7px;display:flex}.sid-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.sid-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.sid-badge--pending{color:#a86a12;background:#fff5e5}.sid-badge--approved{color:#12805a;background:#eafaf3}.sid-badge--rejected{color:#c02b3f;background:#fdeff1}.sid-type{color:var(--text-muted);white-space:nowrap;background:#f2f7fb;border-radius:5px;padding:2px 7px;font-size:.72rem;font-weight:600}.sid-empty{text-align:center;padding:48px 28px}.sid-empty h2{color:var(--text-strong);margin:0 0 6px;font-size:1.05rem;font-weight:700}.sid-empty p{max-width:44ch;color:var(--text-muted);margin:0 auto 18px;font-size:.85rem;line-height:1.6}.sid-overlay{z-index:60;background:#10203073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sid-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.sid-modal-header{padding:22px 24px 0}.sid-modal-header h2{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 4px;font-weight:700}.sid-modal-header p{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.55}.sid-modal-body{padding:20px 24px 0}.sid-field{margin-bottom:16px}.sid-field label{color:var(--text);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.sid-field input,.sid-field textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;padding:10px 12px;font-family:inherit}.sid-field input{min-height:var(--control-h);padding:0 12px}.sid-field input:focus,.sid-field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.sid-field textarea{resize:vertical;min-height:74px}.sid-field-hint,.sid-field-error{margin-top:5px;font-size:.76rem;line-height:1.5;display:block}.sid-field-hint{color:#8a94a6}.sid-field-error{color:#c02b3f;font-weight:600}.sid-counter{float:right;color:#8a94a6;font-size:.74rem;font-weight:500}.sid-modal-actions{justify-content:flex-end;gap:10px;padding:8px 24px 22px;display:flex}.sid-modal-cancel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-weight:600;display:inline-flex}.sid-modal-cancel:hover{background:var(--accent-ghost)}@media (width<=640px){.sid-header,.sid-section-title{margin-left:16px;margin-right:16px;padding-left:16px;padding-right:16px}.sid-header{margin:0;padding:20px 16px 0}.sid-section-title{margin:22px 16px 0}.sid-card{margin-left:16px;margin-right:16px}}@media (prefers-reduced-motion:reduce){.sid-btn-primary,.sid-action-btn{transition:none}}.akeys-page{background:var(--accent-ghost);flex-direction:column;min-height:100%;display:flex}.akeys-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px 28px 0;display:flex}.akeys-header h1{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.akeys-header p{color:var(--text-muted);margin:0;font-size:.85rem}.akeys-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin:20px 28px 0;overflow-x:auto}.akeys-pad{padding:28px}.akeys-muted{color:var(--text-muted);font-size:.85rem}.akeys-footnote{color:var(--text-faint);margin:14px 28px 28px;font-size:.78rem;line-height:1.6}.akeys-footnote code,.akeys-hint code{background:var(--accent-soft);border-radius:5px;padding:1px 5px;font-size:.95em}.akeys-empty{text-align:center;padding:48px 28px}.akeys-empty h1,.akeys-empty h2{color:var(--text-strong);margin:0 0 6px;font-size:1.05rem;font-weight:700}.akeys-empty p{max-width:420px;margin:0 auto 18px;line-height:1.6}.akeys-table{border-collapse:collapse;width:100%;font-size:.85rem}.akeys-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--accent-soft);white-space:nowrap;padding:14px 16px;font-weight:700}.akeys-table td{color:var(--text-strong);vertical-align:middle;border-bottom:1px solid #f2f8fc;padding:14px 16px}.akeys-table tr:last-child td{border-bottom:none}.akeys-row--inactive td{opacity:.55}.akeys-name{font-weight:600}.akeys-prefix{border:1px solid var(--border-soft);color:var(--accent-strong);white-space:nowrap;background:#f4f9fd;border-radius:6px;padding:3px 7px;font-size:.8rem}.akeys-actions{text-align:right;white-space:nowrap}.akeys-chips{flex-wrap:wrap;gap:5px;max-width:320px;display:flex}.akeys-chip{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.73rem;font-weight:600}.akeys-status{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.73rem;font-weight:700;display:inline-block}.akeys-status--on{background:var(--success-bg);color:#1c7c54}.akeys-status--off{color:var(--text-muted);background:#f4f5f7}.akeys-btn-primary,.akeys-btn-secondary,.akeys-btn-danger{font-family:inherit;font-size:var(--text-base);min-height:var(--control-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;padding:0 16px;font-weight:600;transition:background .15s,border-color .15s,filter .15s;display:inline-flex}.akeys-btn-primary{background:var(--accent-strong);color:var(--text-on-accent)}.akeys-btn-primary:hover:not(:disabled){background:var(--accent-strong-hover)}.akeys-btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong)}.akeys-btn-secondary:hover:not(:disabled){background:var(--accent-ghost)}.akeys-btn-danger{background:var(--danger);color:var(--text-on-accent)}.akeys-btn-danger:hover:not(:disabled){filter:brightness(.92)}.akeys-btn-primary:disabled,.akeys-btn-secondary:disabled,.akeys-btn-danger:disabled{opacity:.5;cursor:not-allowed}.akeys-modal-overlay{z-index:60;background:#0a142873;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.akeys-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg);max-height:88vh;padding:24px;overflow-y:auto}.akeys-modal--tall{max-width:560px}.akeys-modal-title{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 4px;font-weight:700}.akeys-modal-sub{color:var(--text-muted);margin:0 0 18px;font-size:.83rem;line-height:1.55}.akeys-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.akeys-label{color:var(--text-strong);margin:0 0 6px;font-size:.78rem;font-weight:700;display:block}.akeys-input{width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;margin-bottom:16px;padding:0 12px;font-family:inherit}.akeys-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.akeys-hint{color:var(--text-faint);margin:-10px 0 16px;font-size:.78rem;line-height:1.5}.akeys-error{color:#c0392b;margin:0 0 4px;font-size:.8rem}.akeys-perms{border:1.5px solid var(--border-soft);border-radius:10px;flex-direction:column;gap:2px;max-height:260px;margin-bottom:16px;padding:6px;display:flex;overflow-y:auto}.akeys-perm{cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.akeys-perm:hover{background:#f4f9fd}.akeys-perm input{flex-shrink:0;margin-top:2px}.akeys-perm--disabled{opacity:.45;cursor:not-allowed}.akeys-perm--disabled:hover{background:0 0}.akeys-perm-text{flex-direction:column;gap:1px;display:flex}.akeys-perm-label{color:var(--text-strong);font-size:.83rem;font-weight:600}.akeys-perm-desc{color:var(--text-muted);font-size:.76rem;line-height:1.45}.akeys-secret{border:1.5px solid var(--accent);background:#f4f9fd;border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:12px;display:flex}.akeys-secret-value{color:var(--accent-strong);word-break:break-all;-webkit-user-select:all;user-select:all;flex:1;font-size:.8rem;line-height:1.5}.akeys-ack{color:var(--text-strong);cursor:pointer;align-items:center;gap:9px;margin-top:16px;font-size:.83rem;display:flex}@media (width<=720px){.akeys-header{padding:20px 16px 0}.akeys-card{margin:16px 16px 0}.akeys-footnote{margin:12px 16px 20px}.akeys-chips{max-width:200px}}.adm-modal--wizard{max-width:620px;max-height:calc(100vh - 48px);overflow-y:auto}.adm-steps{gap:8px;margin:4px 0 14px;padding:0;list-style:none;display:flex}.adm-steps li{background:var(--accent-ghost);color:var(--text-faint);text-align:center;border-radius:8px;flex:1;padding:6px 10px;font-size:.78rem;font-weight:600}.adm-steps li.adm-step-on{background:var(--accent-soft);color:var(--accent-strong)}.adm-steps li.adm-step-done{color:var(--accent-strong)}.adm-segmented{border:1px solid var(--border);border-radius:10px;margin-bottom:16px;display:inline-flex;overflow:hidden}.adm-segmented button{color:var(--accent-strong);cursor:pointer;background:#fff;border:0;padding:8px 18px;font-size:.85rem;font-weight:600}.adm-segmented button+button{border-left:1px solid var(--border)}.adm-segmented button.adm-segmented-on{background:var(--accent-strong);color:#fff}.adm-segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.adm-summary{background:var(--accent-ghost);border:1px solid var(--accent-soft);color:var(--accent-strong);border-radius:10px;flex-direction:column;gap:4px;margin:4px 0 12px;padding:12px 14px;font-size:.82rem;display:flex}@media (width<=560px){.adm-segmented{display:flex}.adm-segmented button{flex:1}}.adm-modal--people{max-width:920px;max-height:calc(100vh - 48px);overflow-y:auto}.adm-modal--people .adm-table{width:100%}.adm-modal--people .adm-user-actions{white-space:normal;flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;display:flex}@media (width<=720px){.adm-modal--people .adm-table thead{display:none}.adm-modal--people .adm-table tr{border-bottom:1px solid var(--accent-soft);grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;display:grid}.adm-modal--people .adm-table td{border:0;padding:0}.adm-modal--people .adm-table td.adm-actions{grid-column:1/-1}.adm-modal--people .adm-user-actions{justify-content:flex-start}}.wal-totals{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:20px 28px 0;display:grid}.wal-stat{border:1px solid var(--border-soft);box-shadow:var(--shadow);background:#fff;border-radius:14px;min-width:0;padding:14px 16px}.wal-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:0 0 6px;font-size:.72rem;font-weight:700}.wal-stat-value{color:var(--text-strong);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:1.25rem;font-weight:800}.wal-stat-sub{color:var(--text-muted);margin:3px 0 0;font-size:.76rem}.wal-stat--danger .wal-stat-value{color:var(--danger)}.wal-stat--warn .wal-stat-value{color:var(--warning)}.wal-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 28px 0;display:flex}.wal-search{flex:220px;min-width:0;margin-bottom:0}.wal-seg{border:1.5px solid var(--border);background:#fff;border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.wal-seg button{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:600}.wal-seg button:hover{color:var(--accent-strong)}.wal-seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}.wal-sort{width:auto;min-width:170px;margin-bottom:0}.wal-row{cursor:pointer}.wal-row:hover td{background:var(--accent-ghost)}.wal-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.wal-tenant{flex-direction:column;gap:2px;min-width:0;display:flex}.wal-tenant-name{overflow-wrap:anywhere;font-weight:600}.wal-off-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;background:#f4f5f7;border-radius:999px;width:fit-content;padding:1px 7px;font-size:.66rem;font-weight:700;display:inline-block}.wal-mode{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.73rem;font-weight:700;display:inline-block}.wal-mode--prepaid{color:#075985;background:#e0f2fe}.wal-mode--postpaid{color:#6b21a8;background:#f3e8ff}.wal-mode--none{color:#4b5563;background:#f4f5f7}.wal-bal{flex-direction:column;gap:1px;display:flex}.wal-bal-label{white-space:nowrap;font-weight:700}.wal-bal-detail{color:var(--text-muted);white-space:nowrap;font-size:.74rem}.wal-bal--ok .wal-bal-label{color:var(--text-strong)}.wal-bal--warn .wal-bal-label{color:var(--warning)}.wal-bal--danger .wal-bal-label{color:var(--danger)}.wal-bal--muted .wal-bal-label{color:var(--text-muted);font-weight:600}.wal-pending{background:var(--warning-bg);min-width:22px;color:var(--warning);border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:.73rem;font-weight:700;display:inline-flex}.wal-pending--none{color:var(--text-faint);background:0 0;font-weight:500}.wal-pager{color:var(--text-muted);border-top:1px solid #f2f8fc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:.8rem;display:flex}.wal-pager-btns{gap:6px;display:flex}.wal-pager .adm-btn-secondary{padding:6px 12px;font-size:.8rem}.wal-drawer-overlay{z-index:55;background:#0a142873;justify-content:flex-end;animation:.18s walFade;display:flex;position:fixed;inset:0}@keyframes walFade{0%{opacity:0}to{opacity:1}}@keyframes walSlide{0%{opacity:.6;transform:translate(40px)}to{opacity:1;transform:none}}.wal-drawer{background:var(--accent-ghost);overscroll-behavior:contain;width:min(680px,100vw);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.24s cubic-bezier(.22,1,.36,1) walSlide;display:flex;overflow-y:auto}.wal-drawer-head{z-index:1;background:var(--surface);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px 14px;display:flex;position:sticky;top:0}.wal-drawer-title{min-width:0}.wal-drawer-title h2{font-size:var(--text-lg);color:var(--text-strong);overflow-wrap:anywhere;margin:0 0 6px;font-weight:700}.wal-drawer-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:flex}.wal-close{border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wal-close:hover{background:var(--accent-ghost);color:var(--accent-strong)}.wal-close svg{width:15px;height:15px}.wal-drawer-body{flex-direction:column;gap:18px;padding:18px 22px 28px;display:flex}.wal-actions{flex-wrap:wrap;gap:8px;display:flex}.wal-section{border:1px solid var(--border-soft);box-shadow:var(--shadow);background:#fff;border-radius:14px;min-width:0;padding:16px}.wal-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:0 0 12px;font-size:.78rem;font-weight:700}.wal-figs{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.wal-fig{border:1px solid var(--border-soft);background:#fff;border-radius:12px;min-width:0;padding:12px 14px}.wal-fig .wal-stat-value{font-size:1.05rem}.wal-ref{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wal-ref code{font-family:var(--mono);color:var(--text-strong);background:var(--accent-soft);overflow-wrap:anywhere;border-radius:8px;padding:4px 10px;font-size:1rem;font-weight:700}.wal-copy{align-items:center;gap:6px;display:inline-flex;padding:6px 10px!important;font-size:.78rem!important}.wal-copy svg{width:14px;height:14px}.wal-list{flex-direction:column;display:flex}.wal-item{border-bottom:1px solid #f2f8fc;justify-content:space-between;gap:12px;min-width:0;padding:10px 0;display:flex}.wal-item:last-child{border-bottom:none}.wal-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.wal-item-title{color:var(--text-strong);overflow-wrap:anywhere;font-size:.85rem;font-weight:600}.wal-item-sub{color:var(--text-muted);overflow-wrap:anywhere;font-size:.76rem}.wal-item-side{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.wal-amt{white-space:nowrap;font-size:.86rem;font-weight:700}.wal-amt--in{color:var(--success)}.wal-amt--out{color:var(--text-strong)}.wal-item-actions{gap:4px;margin-top:4px;display:flex}.wal-pay-status{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:700;display:inline-block}.wal-pay-status--pending_verification{background:var(--warning-bg);color:var(--warning)}.wal-pay-status--verified{background:var(--success-bg);color:var(--success)}.wal-pay-status--rejected{background:var(--danger-bg);color:var(--danger)}.wal-tabs{border-bottom:1px solid var(--accent-soft);gap:4px;margin:-4px 0 8px;display:flex}.wal-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-family:inherit;font-size:.84rem;font-weight:600}.wal-tabs button[aria-selected=true]{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}.wal-section .wal-pager{padding:10px 0 0}.wal-type-desc{color:var(--text-muted);margin:-10px 0 16px;font-size:.78rem;line-height:1.5}@media (width<=720px){.wal-totals,.wal-toolbar{margin:16px 16px 0}.wal-totals{grid-template-columns:1fr 1fr;gap:10px}.wal-stat{padding:12px}.wal-stat-value{font-size:1.05rem}.wal-sort{flex:100%}.wal-table thead{display:none}.wal-table,.wal-table tbody{display:block}.wal-table tr.wal-row{border-bottom:1px solid #f2f8fc;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 14px;display:grid}.wal-table tr.wal-row:last-child{border-bottom:none}.wal-table tr.wal-row td{background:0 0;border:none;padding:0}.wal-table .wal-cell-tenant{grid-area:1/1}.wal-table .wal-cell-balance{text-align:right;grid-area:1/2/span 2}.wal-table .wal-cell-balance .wal-bal{align-items:flex-end}.wal-table .wal-cell-meta{flex-wrap:wrap;grid-area:2/1;align-items:center;gap:6px;font-size:.78rem;display:flex}.wal-table .wal-cell-pending{text-align:right;grid-area:3/2}.wal-table .wal-cell-activity{grid-area:3/1;font-size:.76rem}.wal-table .wal-cell-desktop,.wal-table .wal-cell-pending .wal-pending--none{display:none}.wal-drawer-head{padding:14px 16px 12px}.wal-drawer-body{gap:14px;padding:14px 16px 24px}.wal-figs{grid-template-columns:1fr 1fr}.wal-section{padding:14px}}.wal-mobile-only{display:none}@media (width>=721px){.wal-table .wal-cell-meta{display:none}}@media (width<=720px){.wal-mobile-only{display:inline}}.wal-field-error{color:#c0392b;margin:-10px 0 14px;font-size:.78rem;line-height:1.45}.wal-page-body{flex-direction:column;gap:18px;max-width:960px;padding:20px 28px 32px;display:flex}.wal-paybill{gap:10px;margin:0;display:grid}.wal-paybill>div{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.wal-paybill dt{color:var(--text-muted);flex:0 0 140px;font-size:.8rem}.wal-paybill dd{color:var(--text-strong);flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin:0;font-weight:600;display:flex}.wal-paybill code{font-family:var(--mono);background:var(--accent-soft);overflow-wrap:anywhere;border-radius:8px;padding:4px 10px;font-size:1rem;font-weight:700}@media (width<=720px){.wal-page-body{gap:14px;padding:16px 16px 24px}.wal-paybill dt{flex-basis:100%}}.wal-usage-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.wal-usage-head .wal-section-title{margin:0}.wal-range{flex-wrap:wrap;gap:10px;display:flex}.wal-range label{min-width:0;color:var(--text-muted);flex-direction:column;flex:150px;gap:4px;font-size:.76rem;display:flex}.wal-range .adm-input{margin-bottom:8px}.wal-field-error--flat{margin:0 0 8px}.wal-usage-figs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px;display:grid}.wal-usage-main{flex-direction:column;gap:2px;display:flex}.wal-usage-main .wal-stat-label{margin:0}.wal-usage-value{color:var(--text-strong);letter-spacing:-.01em;font-size:1.25rem;font-weight:800}.wal-outcomes{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.wal-outcomes>div{background:var(--accent-ghost);border-radius:10px;min-width:0;padding:8px 10px}.wal-outcomes dt{color:var(--text-muted);font-size:.7rem;font-weight:600}.wal-outcomes dd{color:var(--text-strong);margin:2px 0 0;font-size:1rem;font-weight:700}.wal-outcome--ok{color:var(--success)!important}.wal-outcome--bad{color:var(--danger)!important}.wal-tabs{scrollbar-width:none;overflow-x:auto}.wal-tabs button{white-space:nowrap}@media (width<=720px){.wal-outcomes{grid-template-columns:1fr 1fr}}.wal-hero{background:linear-gradient(135deg, #fff 0%, var(--accent-ghost) 100%);border:1px solid var(--border-soft);box-shadow:var(--shadow);border-radius:16px;padding:20px 22px}.wal-hero .wal-stat-label{margin:0 0 4px}.wal-hero-value{letter-spacing:-.03em;color:var(--text-strong);overflow-wrap:anywhere;margin:0;font-size:2.1rem;font-weight:800;line-height:1.15}.wal-hero--out .wal-hero-value{color:var(--danger)}.wal-hero-note{color:var(--text-muted);margin:6px 0 0;font-size:.82rem}.wal-hero-alert{background:var(--danger-bg);color:var(--danger);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;font-size:.86rem;display:flex}.wal-hero-facts{color:var(--text-strong);flex-wrap:wrap;gap:6px 22px;margin:14px 0 0;padding:0;font-size:.86rem;font-weight:600;list-style:none;display:flex}.wal-hero-facts span{color:var(--text-muted);margin-right:4px;font-weight:500}.wal-figs--hero .wal-stat-value{font-size:1.2rem}.wal-badge{white-space:nowrap;vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:700;display:inline-block}.wal-badge--info{color:#075985;background:#e0f2fe}.wal-badge--warn{background:var(--warning-bg);color:var(--warning)}.wal-badge--success{background:var(--success-bg);color:var(--success)}.wal-badge--danger{background:var(--danger-bg);color:var(--danger)}.wal-badge--muted{color:#4b5563;background:#f4f5f7}.wal-item--link{cursor:pointer;border-radius:8px;margin:0 -6px;padding-left:6px;padding-right:6px}.wal-item--link:hover{background:var(--accent-ghost)}.wal-item--link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.wal-inv-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wal-overdue{color:var(--danger);font-weight:700}.wal-owed{color:var(--warning);font-weight:700}.wal-seg--tab{width:fit-content;max-width:100%;margin:4px 0 10px;overflow-x:auto}.wal-statement-ends{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px;display:grid}.wal-statement-ends>div{background:var(--accent-ghost);border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.wal-statement-ends span{color:var(--text-muted);font-size:.72rem;font-weight:600}.wal-statement-ends strong{color:var(--text-strong);font-size:1rem}.wal-totals-list{border-top:1px solid var(--accent-soft);gap:4px;margin:12px 0 0;padding-top:8px;display:grid}.wal-totals-list>div{justify-content:space-between;gap:12px;font-size:.84rem;display:flex}.wal-totals-list dt{color:var(--text-muted)}.wal-totals-list dd{color:var(--text-strong);white-space:nowrap;margin:0;font-weight:600}.wal-totals-list-total dt,.wal-totals-list-total dd{color:var(--text-strong);font-weight:800}.wal-noplan p{color:var(--text-strong);font-size:.88rem}@media (width<=720px){.wal-hero{padding:16px}.wal-hero-value{font-size:1.7rem}.wal-figs--hero{grid-template-columns:1fr 1fr}}.wal-views{margin:18px 28px 0}.wal-views .wal-tabs{margin:0}.wal-view-panel{flex-direction:column;display:flex}.wal-act-toolbar{align-items:flex-end}.wal-act-range{flex:0 360px}.wal-act-range .adm-input{margin-bottom:0}.wal-act-error{margin:8px 28px 0}.wal-act-day+.wal-act-day{border-top:1px solid var(--accent-soft)}.wal-act-day-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;padding:16px 16px 4px;display:flex}.wal-act-day-head h3{color:var(--text-strong);margin:0;font-size:.98rem;font-weight:700}.wal-act-day-date{color:var(--text-faint);margin-left:8px;font-size:.76rem;font-weight:500}.wal-act-day-head p{color:var(--text-muted);margin:0;font-size:.8rem}.wal-act-day-head strong{color:var(--text-strong)}.wal-act-table td,.wal-act-table th{padding:10px 16px}.wal-act-num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right!important}.wal-act-good{color:var(--success)!important}.wal-act-bad{color:var(--danger)!important}.wal-act-warn{color:var(--warning)!important}.wal-act-money{font-weight:700}.wal-act-row--open td{background:var(--accent-ghost)}.wal-act-detail>td{background:var(--accent-ghost);border-left:3px solid var(--accent)}.wal-act-detail .wal-stat-label{margin:0 0 6px}.wal-act-history{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.wal-act-history li{color:var(--text-muted);font-variant-numeric:tabular-nums;grid-template-columns:110px repeat(4,minmax(80px,1fr));gap:10px;font-size:.8rem;display:grid}.wal-act-history--here{font-weight:700;color:var(--text-strong)!important}.wal-act-history-date{color:var(--text-faint)}@media (width<=720px){.wal-views{margin:14px 16px 0}.wal-act-error{margin:8px 16px 0}.wal-act-range{flex:100%}.wal-act-table .wal-act-wide{display:none}.wal-act-table td,.wal-act-table th{padding:10px 12px}.wal-act-history li{grid-template-columns:1fr 1fr;gap:2px 10px;padding:4px 0}}.topup-overlay{z-index:1200;background:#0009;justify-content:center;align-items:center;padding:24px;animation:.18s topup-fade;display:flex;position:fixed;inset:0}.topup-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);padding:0;animation:.22s topup-slide;position:relative;overflow:hidden}.topup-modal>:not(.topup-progress):not(.topup-close){padding:0 32px}.topup-title{font-size:var(--text-lg);color:var(--text-strong);margin:0;padding-top:24px;padding-bottom:18px;padding-right:48px;font-weight:700}.topup-close{background:var(--surface-muted);color:#64748b;cursor:pointer;z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:17px;transition:background .15s,color .15s;display:flex;position:absolute;top:12px;right:14px}.topup-close:hover{background:var(--border);color:var(--text-strong)}.topup-close:disabled{opacity:.4;cursor:not-allowed}.topup-info-card{background:var(--accent-ghost);border:1px solid var(--border);border-left:3.5px solid var(--accent);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 16px;display:flex}.topup-info-card-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.topup-info-card-value{color:var(--accent-strong);letter-spacing:.04em;font-family:Courier New,monospace;font-size:1.1rem;font-weight:800}.topup-hint{color:#64748b;margin:0 0 16px;font-size:.82rem;line-height:1.55}.topup-hint strong{color:var(--text-strong)}.topup-field{margin-bottom:18px}.topup-label{color:#374151;margin-bottom:7px;font-size:.83rem;font-weight:600;display:block}.topup-amount-wrap{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);background:var(--surface);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.topup-amount-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.topup-currency{background:var(--accent-ghost);color:var(--accent);border-right:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:10px 14px;font-size:.83rem;font-weight:700}.topup-input{border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:var(--control-h);font-family:inherit;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);box-sizing:border-box;outline:none;padding:0 14px;transition:border-color .15s,box-shadow .15s}.topup-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.topup-input::placeholder{color:#9ca3af}.topup-input--amount{border:none;border-radius:0;flex:1;align-self:stretch;min-width:0;min-height:0;box-shadow:none!important}.topup-input--amount:focus{box-shadow:none!important}.topup-input--amount::-webkit-outer-spin-button{-webkit-appearance:none}.topup-input--amount::-webkit-inner-spin-button{-webkit-appearance:none}.topup-input--amount[type=number]{-moz-appearance:textfield}.topup-field-error{color:#c62828;margin-top:5px;font-size:.79rem;display:block}.topup-submit{width:100%;min-height:var(--control-h);background:var(--accent-strong);color:var(--text-on-accent);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;margin-top:4px;padding:0 18px;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.topup-submit:hover:not(:disabled){background:var(--accent-strong-hover)}.topup-submit:active:not(:disabled){transform:scale(.98)}.topup-submit:disabled{opacity:.55;cursor:not-allowed}.topup-modal .topup-submit{margin-bottom:28px}.topup-paybill-info{flex-direction:column;display:flex}.topup-copy-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--accent-strong);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex}.topup-copy-btn svg{width:15px;height:15px}.topup-copy-btn:hover{border-color:var(--accent);background:#e0f6ff}.topup-instructions{counter-reset:topup-step;flex-direction:column;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:flex}.topup-instructions li{color:#374151;padding-left:34px;font-size:.86rem;line-height:1.5;position:relative}.topup-instructions li strong{color:var(--text-strong)}.topup-instructions li:before{counter-increment:topup-step;content:counter(topup-step);background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:800;display:flex;position:absolute;top:1px;left:0}.topup-success{text-align:center;flex-direction:column;align-items:center;margin:28px 0 32px;display:flex}.topup-success h3{color:var(--text-strong);margin:0 0 10px;font-size:1.2rem;font-weight:700}.topup-success p{color:#64748b;max-width:360px;margin:0 0 24px;font-size:.86rem;line-height:1.6}.topup-success .topup-submit{width:auto;padding:0 32px}.topup-success-icon{background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex;box-shadow:0 4px 20px #16a34a59}.topup-success-icon svg{stroke:#fff;width:30px;height:30px}@keyframes topup-fade{0%{opacity:0}to{opacity:1}}@keyframes topup-slide{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=540px){.topup-modal>:not(.topup-progress):not(.topup-close){padding-left:20px;padding-right:20px}}.bill-page{background:var(--accent-ghost);flex-direction:column;min-height:100%;display:flex}.bill-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.bill-title{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.bill-subtitle{color:var(--text-muted);margin:0;font-size:.85rem}.bill-section{margin-bottom:28px}.bill-section-title{color:var(--text-strong);margin:0 0 12px;font-size:1rem;font-weight:700}.bill-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.bill-table th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border-soft);background:#f7fbff;padding:10px 14px;font-weight:700}.bill-table td{color:var(--text-strong);border-bottom:1px solid #f2f8fc;padding:11px 14px}.bill-table tbody tr:last-child td{border-bottom:none}.bill-table tbody tr:hover td{background:var(--surface-sunken)}.bill-empty{text-align:center;color:var(--text-muted);font-size:.84rem;padding:32px!important}@keyframes stmt-fade{0%{opacity:0}to{opacity:1}}@keyframes stmt-slide{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media print{body>:not(.stmt-overlay):not(.quot-overlay):not(.quote-overlay){display:none!important}.stmt-overlay,.quot-overlay{background:0 0!important;padding:0!important;display:block!important;position:static!important}.stmt-container,.quot-container{box-shadow:none!important;background:#fff!important;border-radius:0!important;max-width:100%!important}.stmt-controls,.quot-controls,.quot-form,.quot-edit-btn{display:none!important}.stmt-document,.quot-document{box-shadow:none!important;border-radius:0!important;margin:0!important;padding:20mm!important}@page{margin:0}}@media (width<=640px){.bill-header{flex-direction:column}}.bill-page{padding:28px 28px 40px}.bill-loading,.bill-empty{color:var(--text-muted,#6b7280);padding:32px 4px;font-size:14px}.bill-stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:20px;display:grid}.bill-stat{border:1px solid var(--border-soft);border-left:3px solid var(--border,var(--border));border-radius:var(--radius-lg);background:var(--surface,#fff);box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.bill-stat-label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted,#6b7280);font-size:12px;font-weight:600}.bill-stat-value{font-variant-numeric:tabular-nums;color:var(--text,#111827);font-size:22px;font-weight:700}.bill-stat-hint{color:var(--text-muted,#6b7280);font-size:12px}.bill-banner{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:13.5px;line-height:1.5}.bill-banner--info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.bill-banner--error{background:var(--danger-bg);color:#991b1b;border:1px solid var(--danger-border)}.bill-tabs{border-bottom:1px solid var(--border,var(--border));gap:4px;margin-bottom:18px;display:flex}.bill-tab{color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;font-weight:500}.bill-tab--active{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}.bill-panel-note{color:var(--text-muted,#6b7280);margin:0 0 12px;font-size:13px}.bill-table{border-collapse:collapse;width:100%;font-size:13.5px}.bill-table th,.bill-table td{text-align:left;border-bottom:1px solid var(--border,var(--border));padding:10px 12px}.bill-table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-weight:700}.bill-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bill-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.bill-muted{color:var(--text-muted,#6b7280)}.bill-credit{color:#16a34a}.bill-debit{color:#b91c1c}.bill-detail-cell{max-width:320px}.bill-pill{background:var(--surface-muted);color:#374151;border-radius:999px;margin-right:4px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.bill-pill--paid,.bill-pill--verified{color:#166534;background:#dcfce7}.bill-pill--issued{color:#1e40af;background:#dbeafe}.bill-pill--partially_paid{color:#92400e;background:#fef3c7}.bill-pill--disputed,.bill-pill--overdue{color:#991b1b;background:#fee2e2}.bill-pill--void,.bill-pill--written_off,.bill-pill--rejected{background:var(--border);color:#4b5563}.bill-pill--pending_verification{color:#92400e;background:#fef3c7}.bill-link-btn{color:var(--accent-strong);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.bill-btn-secondary{min-height:var(--control-h);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);cursor:pointer;color:var(--accent-strong);justify-content:center;align-items:center;padding:0 18px;font-weight:600;display:inline-flex}.bill-btn-secondary:hover:not(:disabled){background:var(--accent-ghost)}.bill-drawer-overlay{z-index:900;background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.bill-drawer{background:var(--surface,#fff);width:min(640px,100%);height:100%;box-shadow:var(--shadow-lg);padding:28px 28px 48px;position:relative;overflow-y:auto}.bill-drawer-head{margin-bottom:20px}.bill-drawer-head h2{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 4px;font-weight:700}.bill-drawer-sub{color:var(--text-muted,#6b7280);margin:0;font-size:13px}.bill-section-title{margin:0 0 8px;font-size:14px;font-weight:700}.bill-drawer-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.bill-drawer-actions .topup-submit{width:auto;margin-top:0}.bill-textarea{resize:vertical;min-height:90px;font-family:inherit}.bill-report-form{border-top:1px solid var(--border,var(--border));margin-top:22px;padding-top:18px}@media (width<=640px){.bill-drawer{padding:24px 16px 40px}.bill-table{font-size:12.5px}.bill-table th,.bill-table td{padding:8px 6px}}@media print{.topup-overlay{background:0 0;position:static}.bill-statement{max-height:none;box-shadow:none;width:100%;overflow:visible}.topup-close,.bill-statement-controls,.app-shell>:not(.topup-overlay){display:none!important}}.bill-inline-btn{width:auto;margin-top:0}.bill-version{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface,#fff);box-shadow:var(--shadow);margin-bottom:16px;padding:16px 18px}.bill-version--draft{background:#fffbeb;border-color:#f59e0b}.bill-version-head{margin-bottom:12px}.bill-version-head h3{align-items:center;gap:8px;margin:0 0 4px;font-size:15px;display:flex}.bill-form-grid{border-top:1px dashed var(--border,var(--border));gap:12px;margin-top:16px;padding-top:14px;display:grid}.bill-form-grid .topup-field,.bill-form-grid .bill-section-title{margin:0}.bill-form-grid .bill-btn-secondary{justify-self:start}.bill-band-inputs{gap:8px;display:flex}.bill-band-inputs .topup-input{width:100%}@media (width>=560px){.bill-form-grid{grid-template-columns:1fr 1fr;align-items:end}.bill-form-grid .bill-section-title,.bill-form-grid .bill-panel-note,.bill-form-grid .topup-field-error{grid-column:1/-1}}.topup-modal{max-height:calc(100vh - 48px);overflow-y:auto}.topup-form-error{background:#fdecea;border-radius:8px;margin:0 0 16px;padding:10px 14px}.topup-field-row{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}@media (width<=540px){.topup-field-row{grid-template-columns:1fr}}.topup-paybill-info .topup-info-card-label,.topup-paybill-info .topup-info-card-value{display:block}.topup-paybill-info .topup-info-card-value{overflow-wrap:anywhere}.rpt-select{min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-strong);font-family:inherit;font-size:var(--text-base);cursor:pointer;outline:none;min-width:140px;padding:0 12px;font-weight:500;transition:border-color .15s,box-shadow .15s}.rpt-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.rpt-select:disabled{color:#9ca3af;cursor:default;background:#f9fafb}.rpt-daterange-box{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);background:var(--surface);box-sizing:border-box;align-items:center;gap:6px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.rpt-daterange-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec26}.rpt-dateinput{font-family:inherit;font-size:var(--text-base);color:var(--text-strong);cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:0 0;border:none;outline:none;width:130px}.rpt-dateinput::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.rpt-dateinput::-webkit-calendar-picker-indicator:hover{opacity:1}.rpt-date-sep{color:#9ca3af;-webkit-user-select:none;user-select:none;font-size:.8rem}.rpt-btn-refresh{min-height:var(--control-h);background:var(--accent-strong);color:var(--text-on-accent);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-weight:600;transition:background .15s;display:inline-flex}.rpt-btn-refresh svg{flex-shrink:0;width:14px;height:14px}.rpt-btn-refresh:hover{background:var(--accent-strong-hover)}.rpt-table-scroll{overflow-x:auto}.rpt-table{border-collapse:collapse;width:100%;font-size:.875rem}.rpt-table thead tr{border-bottom:1px solid var(--border);background:#f8fafc}.rpt-table th{text-align:left;font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:13px 20px;font-weight:700}.rpt-table td{color:#374151;border-bottom:1px solid var(--surface-muted);white-space:nowrap;padding:13px 20px}.rpt-row:last-of-type td{border-bottom:1px solid var(--surface-muted)}.rpt-table tbody tr:hover td{background:#f8fafc}.rpt-red{color:#dc2626;font-weight:600}.rpt-td-empty{text-align:center;color:#9ca3af;font-size:.875rem;padding:48px 20px!important}@media (width<=768px){.rpt-select{flex:1;min-width:0}.rpt-daterange-box{width:100%}.rpt-btn-refresh,.rpt-btn-export{flex:1;justify-content:center}}.rpt2-page{box-sizing:border-box;background:#f5f6fa;min-height:100%;padding:28px 28px 40px}.rpt2-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.rpt2-title{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.01em;margin:0 0 4px;font-weight:700}.rpt2-subtitle{color:#64748b;margin:0;font-size:.85rem}.rpt2-export-btn{min-height:var(--control-h);background:var(--accent-strong);color:var(--text-on-accent);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.rpt2-export-btn svg{flex-shrink:0;width:14px;height:14px}.rpt2-export-btn:hover{background:var(--accent-strong-hover)}.rpt2-bar{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;display:flex}.rpt2-range-chip{color:#64748b;background:var(--accent-ghost);border:1px solid var(--accent-border);white-space:nowrap;border-radius:20px;margin-left:auto;padding:4px 12px;font-size:.78rem}.rpt2-tabs{border-bottom:2px solid var(--border);scrollbar-width:none;gap:2px;margin-bottom:24px;display:flex;overflow-x:auto}.rpt2-tabs::-webkit-scrollbar{display:none}.rpt2-tab{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-family:inherit;font-size:.875rem;font-weight:600;transition:color .15s,border-color .15s}.rpt2-tab:hover{color:var(--accent)}.rpt2-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.rpt2-section{animation:.18s rpt2-fade}@keyframes rpt2-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.rpt2-section-title{color:var(--text-strong);margin:0 0 14px;font-size:.95rem;font-weight:700}.rpt2-stats-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:20px;display:grid}.rpt2-stat-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;gap:6px;padding:20px 22px;display:flex}.rpt2-stat-card--primary{border-color:var(--accent-border);background:linear-gradient(135deg,#f0fbff 0%,#fff 100%)}.rpt2-stat-card--danger{border-color:var(--danger-border);background:var(--danger-bg)}.rpt2-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.rpt2-stat-value{color:var(--text-strong);font-size:1.75rem;font-weight:800;line-height:1.1}.rpt2-stat-value--danger{color:#dc2626}.rpt2-stat-value--warn{color:#f97316}.rpt2-stat-value--ok{color:#16a34a}.rpt2-stat-sub{color:#94a3b8;font-size:.77rem}.rpt2-chart-row{grid-template-columns:1fr 300px;gap:14px;margin-bottom:14px;display:grid}.rpt2-chart-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px 22px}.rpt2-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.rpt2-chart-title{color:var(--text-strong);font-size:.9rem;font-weight:700}.rpt2-chart-sub{color:#94a3b8;font-size:.78rem}.rpt2-donut-wrap{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.rpt2-donut-wrap--col{flex-direction:column;align-items:flex-start}.rpt2-donut-legend{flex-direction:column;flex:1;gap:9px;min-width:90px;display:flex}.rpt2-legend-row{align-items:center;gap:7px;display:flex}.rpt2-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.rpt2-legend-lbl{color:#374151;flex:1;font-size:.81rem}.rpt2-legend-val{color:var(--text-strong);font-size:.81rem;font-weight:700}.rpt2-dual-legend{gap:16px;font-size:.77rem;font-weight:600;display:flex}.rpt2-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px 22px}.rpt2-card--nop{padding:0;overflow:hidden}.rpt2-telco-row{border-bottom:1px solid var(--surface-muted);grid-template-columns:90px 1fr 52px 90px;align-items:center;gap:12px;padding:11px 0;display:grid}.rpt2-telco-row:last-child{border-bottom:none}.rpt2-telco-name{color:var(--text-strong);font-size:.86rem;font-weight:600}.rpt2-rate-bar-wrap{background:var(--accent-ghost);border-radius:20px;height:8px;overflow:hidden}.rpt2-rate-bar{background:linear-gradient(90deg, var(--accent-strong), var(--accent));border-radius:20px;height:100%;transition:width .5s}.rpt2-telco-rate{color:var(--accent);text-align:right;font-size:.82rem;font-weight:700}.rpt2-telco-count{color:#94a3b8;text-align:right;font-size:.77rem}.rpt2-badge{background:var(--accent-soft);color:var(--accent-strong);letter-spacing:.03em;border-radius:20px;padding:2px 9px;font-size:.73rem;font-weight:700;display:inline-block}.rpt2-status{border-radius:20px;padding:2px 9px;font-size:.73rem;font-weight:700;display:inline-block}.rpt2-status--sent{background:var(--accent-soft);color:var(--accent-strong)}.rpt2-status--pending{color:#c2410c;background:#fff7ed}.rpt2-status--failed{background:var(--danger-bg);color:#dc2626}.rpt2-status--delivered{color:#15803d;background:#dcfce7}.rpt2-status--undelivered{color:#be123c;background:#fff1f2}.rpt2-pg-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.rpt2-pg-info{color:#64748b;flex:1;min-width:140px;font-size:.81rem}.rpt2-pg-size-label{color:#64748b;font-size:.81rem}.rpt2-pg-size-sel{width:72px;min-width:0!important}.rpt2-pg-btns{align-items:center;gap:4px;display:flex}.rpt2-pg-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:#374151;cursor:pointer;background:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;transition:background .12s,border-color .12s,color .12s;display:flex}.rpt2-pg-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.rpt2-pg-btn:disabled{opacity:.35;cursor:default}.rpt2-pg-cur{color:#374151;white-space:nowrap;padding:0 8px;font-size:.81rem;font-weight:600}.rpt2-dlr-list{flex-direction:column;gap:12px;display:flex}.rpt2-dlr-item{border:1px solid var(--surface-muted);background:#f8fafc;border-radius:10px;padding:14px 16px}.rpt2-dlr-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.rpt2-dlr-code{letter-spacing:.05em;border-radius:5px;flex-shrink:0;padding:2px 8px;font-size:.71rem;font-weight:700;display:inline-block}.rpt2-dlr-label{color:var(--text-strong);flex:1;font-size:.85rem;font-weight:600}.rpt2-dlr-count{color:var(--text-strong);font-size:.85rem;font-weight:700}.rpt2-dlr-pct{color:#64748b;text-align:right;width:36px;font-size:.78rem}.rpt2-dlr-bar-wrap{background:var(--border);border-radius:20px;height:5px;overflow:hidden}.rpt2-dlr-bar{border-radius:20px;height:100%;transition:width .5s}.rpt2-camp-rate{align-items:center;gap:7px;min-width:90px;display:flex}.rpt2-camp-rate-bar{background:linear-gradient(90deg, var(--accent-strong), var(--accent));border-radius:20px;flex:1;min-width:4px;height:6px;transition:width .5s}.rpt2-camp-rate span{color:var(--accent);white-space:nowrap;font-size:.79rem;font-weight:600}@media (width<=900px){.rpt2-chart-row{grid-template-columns:1fr}}@media (width<=768px){.rpt2-page{padding:20px 16px 40px}.rpt2-stats-grid{grid-template-columns:1fr 1fr}.rpt2-header{flex-direction:column}.rpt2-telco-row{grid-template-columns:70px 1fr 44px}.rpt2-telco-count{display:none}}@media (width<=480px){.rpt2-stats-grid{grid-template-columns:1fr}.rpt2-tab{padding:8px 13px;font-size:.8rem}.rpt2-range-chip{display:none}}.rpt2-loading-note,.rpt2-empty-note{color:var(--text-muted);margin:0;padding:18px 22px;font-size:.85rem}.exp-page{background:#f0f7ff;flex-direction:column;min-height:100%;display:flex}.exp-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 0;display:flex}.exp-header h1{font-size:var(--text-xl);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 3px;font-weight:700}.exp-header p{color:var(--text-muted);max-width:62ch;margin:0;font-size:.85rem;line-height:1.55}.exp-actions{flex-wrap:wrap;gap:9px;display:flex}.exp-btn{background:var(--accent-strong);color:var(--text-on-accent);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-weight:600;transition:background .15s;display:inline-flex}.exp-btn:hover:not(:disabled){background:var(--accent-strong-hover)}.exp-btn:disabled{opacity:.55;cursor:not-allowed}.exp-btn--secondary{background:var(--surface);color:var(--accent-strong);border:1px solid var(--border)}.exp-btn--secondary:hover:not(:disabled){background:var(--accent-ghost)}.exp-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin:20px 28px 28px;overflow-x:auto}.exp-pad{padding:28px}.exp-muted{color:var(--text-muted);font-size:.85rem}.exp-table{border-collapse:collapse;width:100%;font-size:.85rem}.exp-th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);white-space:nowrap;border-bottom:1px solid #eaf2f8;padding:13px 16px;font-weight:700}.exp-table td{color:var(--text);vertical-align:top;border-bottom:1px solid #f2f7fb;padding:13px 16px}.exp-table tr:last-child td{border-bottom:none}.exp-kind{color:var(--text-strong);align-items:center;gap:6px;font-weight:700;display:inline-flex}.exp-kind svg{width:15px;height:15px;stroke:var(--accent-strong);flex-shrink:0}.exp-rows{font-variant-numeric:tabular-nums;font-weight:600}.exp-filters{flex-wrap:wrap;gap:6px;max-width:46ch;display:flex}.exp-chip{border:1px solid var(--border-soft);color:var(--text);white-space:nowrap;background:#f2f7fb;border-radius:6px;padding:2px 8px;font-size:.74rem}.exp-chip b{color:var(--text-muted);font-weight:600}.exp-nofilters{color:#8a94a6;font-size:.78rem;font-style:italic}.exp-empty{text-align:center;padding:48px 28px}.exp-empty h2{color:var(--text-strong);margin:0 0 6px;font-size:1.05rem;font-weight:700}.exp-empty p{max-width:46ch;color:var(--text-muted);margin:0 auto 18px;font-size:.85rem;line-height:1.6}.exp-footnote{color:#8a94a6;max-width:70ch;margin:0 28px 28px;font-size:.78rem;line-height:1.6}.exp-pager{border-top:1px solid #eaf2f8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.exp-pager button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);font-size:var(--text-base);color:var(--accent-strong);cursor:pointer;justify-content:center;align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.exp-pager button:hover:not(:disabled){background:var(--accent-ghost)}.exp-pager button:disabled{opacity:.45;cursor:not-allowed}@media (width<=640px){.exp-header{padding:20px 16px 0}.exp-card,.exp-footnote{margin-left:16px;margin-right:16px}}@media (prefers-reduced-motion:reduce){.exp-btn{transition:none}}.aud-page{box-sizing:border-box;flex-direction:column;gap:20px;padding:28px 28px 40px;display:flex}@media (width<=720px){.aud-page{padding:18px 14px 32px}}.aud-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.aud-title{font-size:var(--text-xl);color:var(--text-strong);margin:0 0 4px;font-weight:700}.aud-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:0}.aud-filters-bar{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px;display:flex}.aud-filter-group{flex-direction:column;gap:4px;display:flex}.aud-filter-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.aud-filter-input{min-height:var(--control-h);font-size:var(--text-base);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-strong);min-width:150px;padding:0 10px}.aud-filter-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.aud-filter-actions{align-items:flex-end;gap:8px;padding-bottom:1px;display:flex}.aud-btn{min-height:var(--control-h);font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;background:var(--accent-strong);color:var(--text-on-accent);border:none;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;transition:background .15s;display:inline-flex}.aud-btn:hover:not(:disabled){background:var(--accent-strong-hover)}.aud-btn:disabled{opacity:.4;cursor:not-allowed}.aud-btn--ghost{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong)}.aud-btn--ghost:hover:not(:disabled){background:var(--accent-ghost)}.aud-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.aud-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.aud-th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);background:var(--surface-sunken);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-weight:700}.aud-row td{border-bottom:1px solid var(--border-soft);vertical-align:middle;color:var(--text);padding:10px 14px}.aud-row--clickable{cursor:pointer}.aud-row--clickable:hover td{background:var(--surface-sunken)}.aud-sev{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.aud-sev--info{background:var(--accent)}.aud-sev--warning{background:var(--warning)}.aud-sev--critical{background:var(--danger)}.aud-cell-when{white-space:nowrap;color:var(--text-muted);font-size:var(--text-xs)}.aud-cell-actor{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.aud-cell-resource{color:var(--text-muted)}.aud-cell-ip{font-size:var(--text-xs);color:var(--text-muted)}.aud-cell-chevron{text-align:center;width:28px}.aud-action{font-family:var(--mono);font-size:var(--text-xs);background:var(--surface-sunken);border-radius:var(--radius-sm);color:var(--text);padding:2px 6px}.aud-chevron{width:14px;height:14px;color:var(--text-faint);transition:transform .15s}.aud-chevron--open{transform:rotate(180deg)}.aud-muted{color:var(--text-muted)}.aud-expanded td{background:var(--surface-sunken);border-bottom:1px solid var(--border);padding:0}.aud-expanded-inner{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.aud-diff{grid-template-columns:1fr 1fr;gap:12px;display:grid}.aud-diff-pane{flex-direction:column;gap:4px;display:flex}.aud-diff-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}.aud-pre{font-family:var(--mono);color:#cdd6f4;border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;background:#1e1e2e;margin:0;padding:10px 12px;font-size:.8rem;line-height:1.5;overflow-x:auto}.aud-meta-row{flex-direction:column;gap:4px;display:flex}.aud-ua{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.aud-ua-text{font-size:var(--text-xs);color:var(--text-muted);word-break:break-all}.aud-pager{border-top:1px solid var(--border);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.aud-pager-btns{gap:8px;display:flex}.aud-empty{text-align:center;color:var(--text-muted);padding:48px 24px}.aud-empty h2{font-size:var(--text-base);color:var(--text);margin:0 0 6px;font-weight:600}.aud-empty p{font-size:var(--text-sm);margin:0}.aud-state-msg{text-align:center;color:var(--text-muted);font-size:var(--text-sm);padding:24px}.aud-state-msg--error{color:var(--danger)}@media (width<=640px){.aud-diff{grid-template-columns:1fr}}.quote-panel{padding:var(--space-5)}.quote-panel-intro{margin:0 0 var(--space-4);color:var(--text-muted);font-size:var(--text-base);max-width:72ch}.quote-form{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;display:grid}.quote-field{font-size:var(--text-sm);color:var(--text);flex-direction:column;gap:6px;display:flex}.quote-field>span{color:var(--text-strong);font-weight:600}.quote-field em{color:var(--text-faint);font-style:normal;font-weight:400}.quote-field small{color:var(--text-faint);font-size:var(--text-xs)}.quote-field--wide{grid-column:1/-1}.quote-estimate{padding:var(--space-4);border-radius:var(--radius);background:var(--accent-ghost);border:1px solid var(--border-soft);flex-direction:column;grid-column:1/-1;gap:2px;display:flex}.quote-estimate-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-weight:700}.quote-estimate-value{font-size:var(--text-xl);color:var(--text-strong);font-weight:700}.quote-estimate-sub{font-size:var(--text-sm);color:var(--text-muted)}.quote-form-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.quote-history{margin-top:var(--space-4)}.quote-small{font-size:var(--text-sm);color:var(--text-muted)}.quote-overlay{z-index:1000;padding:var(--space-6) var(--space-4);background:#0c284273;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.quote-shell{gap:var(--space-3);flex-direction:column;width:100%;max-width:860px;display:flex}.quote-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow);flex-wrap:wrap;display:flex}.quote-toolbar-actions{align-items:center;gap:var(--space-3);display:flex}.quote-btn{min-height:var(--control-h);border-radius:var(--radius);font-size:var(--text-base);cursor:pointer;align-items:center;padding:0 18px;font-weight:600;display:inline-flex}.quote-btn--primary{background:var(--accent-strong);color:var(--text-on-accent);border:none}.quote-btn--primary:hover{background:var(--accent-strong-hover)}.quote-btn--secondary{background:var(--surface);color:var(--accent-strong);border:1px solid var(--border)}.quote-btn--secondary:hover:not(:disabled){background:var(--accent-ghost)}.quote-btn:disabled{opacity:.55;cursor:not-allowed}.quote-close{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.quote-close:hover{background:var(--surface-muted);color:var(--text-strong)}.quote-status{font-size:var(--text-sm);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);padding:4px 10px;font-weight:600}.quote-status--accepted{background:var(--warning-bg);color:var(--warning)}.quote-status--fulfilled{background:var(--success-bg);color:var(--success)}.quote-status--expired,.quote-status--declined{background:var(--surface-muted);color:var(--text-muted)}.quote-doc{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-strong);padding:48px 52px;font-size:.86rem;line-height:1.55}.quote-doc h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:0 0 8px;font-weight:700}.quote-doc p{color:var(--text);margin:0 0 4px}.quote-head{justify-content:space-between;gap:var(--space-5);border-bottom:3px solid var(--accent-strong);align-items:flex-start;padding-bottom:22px;display:flex}.quote-brand{color:var(--accent-strong);letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.quote-brand-sub{color:var(--text-muted);font-size:var(--text-sm)}.quote-head-right{text-align:right}.quote-title{letter-spacing:.18em;text-transform:uppercase;color:var(--text-strong);margin:0 0 10px;font-size:1.6rem;font-weight:300}.quote-meta{gap:2px;margin:0;display:grid}.quote-meta div{justify-content:flex-end;gap:14px;display:flex}.quote-meta dt{color:var(--text-muted)}.quote-meta dd{min-width:150px;margin:0;font-weight:600}.quote-parties{gap:var(--space-5);grid-template-columns:1fr 1fr;padding:22px 0;display:grid}.quote-party-name{font-size:1rem;font-weight:700;color:var(--text-strong)!important}.quote-lines{border-collapse:collapse;width:100%;margin:4px 0 26px}.quote-lines th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);background:var(--surface-sunken);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 12px;font-weight:700}.quote-lines td{border-bottom:1px solid var(--border-soft);vertical-align:top;padding:12px}.quote-lines tfoot td{color:var(--text-muted);text-align:right;border-bottom:none;padding:6px 12px}.quote-lines tfoot td.quote-num{color:var(--text-strong)}.quote-lines .quote-total td{color:var(--text-strong);border-top:2px solid var(--text-strong);padding-top:12px;font-size:1.05rem;font-weight:700}.quote-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.quote-lines th.quote-num{text-align:right}.quote-line-sub{color:var(--text-muted);font-size:var(--text-sm);display:block}.quote-columns{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.quote-block{margin-bottom:22px}.quote-pay{gap:4px;margin:0 0 8px;display:grid}.quote-pay div{background:var(--surface-sunken);border-radius:var(--radius-sm);justify-content:space-between;gap:12px;padding:6px 10px;display:flex}.quote-pay dt{color:var(--text-muted)}.quote-pay dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.quote-terms{color:var(--text);margin:0;padding-left:18px}.quote-terms li{margin-bottom:4px}@media (width<=720px){.quote-doc{padding:24px 18px}.quote-head,.quote-parties,.quote-columns{flex-direction:column;grid-template-columns:1fr}.quote-head-right{text-align:left}.quote-meta div{justify-content:flex-start}.quote-lines th,.quote-lines td,.quote-lines tfoot td{padding-left:6px;padding-right:6px}.quote-lines th{letter-spacing:0}}@media print{@page{size:A4;margin:14mm}body>.quote-overlay{background:0 0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.quote-toolbar{display:none!important}.quote-shell{max-width:none}.quote-doc{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:0;padding:0}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.compose-page{box-sizing:border-box;background:#fff;flex-direction:column;align-items:center;min-height:100%;padding:0;display:flex}[data-sonner-toast][data-type=success]{background:var(--accent-soft)!important;color:var(--accent-strong)!important;border:1.5px solid #90d5ef!important}[data-sonner-toast][data-type=success] [data-icon] svg{color:var(--accent)!important}[data-sonner-toast][data-type=error]{border:1.5px solid var(--danger-border)!important;color:#b71c1c!important;background:#fff3f3!important}[data-sonner-toast] [data-description]{opacity:.8;color:inherit!important}.auth-page{background:var(--accent-ghost);flex-direction:column;min-height:100vh;display:flex}.auth-alt button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.83rem;font-weight:600}.auth-alt button:hover{text-decoration:underline}@keyframes auth-spin{to{transform:rotate(360deg)}}.otp-hint{text-align:center;color:#666;margin-bottom:24px;font-size:.85rem;line-height:1.6}@media (width<=480px){.otp-digit{width:40px;height:48px;font-size:1.2rem}}.auth-panel{background:linear-gradient(160deg, var(--accent-strong) 0%, var(--accent) 50%, #1a9fd4 100%);color:#fff;flex-direction:column;flex-shrink:0;width:420px;padding:48px 44px;display:flex}.auth-panel-logo{align-items:center;gap:10px;margin-bottom:auto;display:flex}.auth-panel-logo svg{width:26px;height:26px}.auth-panel-logo span{font-size:1.1rem;font-weight:700}.auth-panel-body{margin:auto 0}.auth-panel-body h1{letter-spacing:-.03em;color:#fff;margin-bottom:16px;font-size:2.4rem;font-weight:700;line-height:1.15}.auth-panel-body p{opacity:.8;max-width:280px;font-size:.95rem;line-height:1.6}.auth-panel-note{letter-spacing:.04em;opacity:.5!important;margin-top:12px!important;font-size:.78rem!important}.auth-panel-footer{opacity:.4;margin-top:auto;padding-top:32px;font-size:.75rem}.auth-form-header h2{color:#1a1a1a;letter-spacing:-.02em;margin-bottom:6px;font-size:1.6rem;font-weight:700}.auth-form-header p{color:#888;font-size:.875rem}.auth-field label{color:var(--accent);font-size:.8rem;font-weight:600}.auth-field input{border:1.5px solid var(--accent-border);background:var(--accent-ghost);color:#1a1a1a;box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:11px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s,background .2s}.auth-field input:focus{border-color:var(--accent);background:#fff}.auth-field input.is-error{border-color:var(--danger);background:var(--danger-bg)}.form-error{background:var(--danger-bg);color:#c53030;border:1px solid #fed7d7;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.82rem}.auth-btn{background:linear-gradient(135deg, var(--accent), #5bcdf0);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:13px;font-family:inherit;font-size:.95rem;font-weight:600;transition:box-shadow .2s,transform .1s;display:flex;box-shadow:0 4px 12px #41bcec4d}.auth-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #41bcec66}.auth-otp-icon{background:var(--accent-ghost);border:1.5px solid var(--accent-border);width:56px;height:56px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.auth-otp-box h2{color:#1a1a1a;margin-bottom:8px;font-size:1.3rem;font-weight:700}.otp-digit{border:1.5px solid var(--accent-border);background:var(--accent-ghost);color:#1a1a1a;text-align:center;width:48px;height:56px;caret-color:var(--accent);border-radius:8px;outline:none;font-family:inherit;font-size:1.4rem;font-weight:700;transition:border-color .2s,background .2s}.otp-digit:focus{border-color:var(--accent);background:#fff}.otp-digit.filled{border-color:#5bcdf0}.otp-digit.is-error{border-color:var(--danger);background:var(--danger-bg)}@keyframes otp-success-fadein{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes otp-glow-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.compose-page{background:#fff;flex-direction:column;align-items:center;min-height:100%;display:flex}@media (width<=768px){.auth-layout{flex-direction:column}.auth-panel{flex-direction:row;align-items:center;gap:16px;width:100%;padding:24px 28px}.auth-panel-logo{margin-bottom:0}.auth-panel-body h1{margin-bottom:0;font-size:1.4rem}.auth-panel-body p,.auth-panel-note,.auth-panel-footer{display:none}.auth-panel-body{margin:0}.auth-form-side{background:#fff;padding:32px 20px 40px}.otp-digit{width:40px;height:48px;font-size:1.2rem}.auth-otp-box{padding:32px 20px}}.profile-page-v2{background:var(--accent-ghost);box-sizing:border-box;flex-direction:column;min-height:100%;padding:28px 28px 40px;display:flex}@media (width<=720px){.profile-page-v2{padding:18px 14px 32px}}.profile-hero-card{background:linear-gradient(135deg, var(--accent-strong), var(--accent));border-radius:var(--radius-lg);position:relative;overflow:hidden}.profile-hero-bg{pointer-events:none;background:radial-gradient(circle at 80% 20%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 10% 80%,#0000001f 0%,#0000 50%);position:absolute;inset:0}.profile-hero-body{align-items:center;gap:24px;padding:36px 32px 28px;display:flex;position:relative}.profile-avatar-wrap{flex-shrink:0;position:relative}.profile-avatar-v2{color:#fff;letter-spacing:1px;text-shadow:0 1px 4px #0003;-webkit-user-select:none;user-select:none;background:#ffffff2e;border:3px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;font-size:1.9rem;font-weight:700;display:flex}.profile-avatar-verified{color:#fff;background:#22c55e;border:2.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;bottom:2px;right:2px}.profile-avatar-verified svg{width:11px;height:11px}.profile-hero-text{flex:1;min-width:0}.profile-hero-name{color:#fff;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:1.55rem;font-weight:700;line-height:1.2;overflow:hidden}.profile-hero-email-v2{color:#ffffffbf;margin:0 0 14px;font-size:.875rem}.profile-hero-meta{flex-wrap:wrap;gap:8px;display:flex}.profile-hero-chip{color:#ffffffe6;background:#ffffff26;border:1px solid #fff3;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:.73rem;font-weight:500;display:inline-flex}.profile-hero-chip svg{flex-shrink:0;width:11px;height:11px}.profile-hero-chip--green{color:#bbf7d0;background:#22c55e40;border-color:#22c55e4d}.profile-stats-strip{background:#0000002e;border-top:1px solid #ffffff14;align-items:center;display:flex;position:relative}.profile-stat-item{flex-direction:column;flex:1;align-items:center;gap:3px;padding:14px 8px;display:flex}.profile-stat-val{color:#fff;font-size:1.3rem;font-weight:700;line-height:1}.profile-stat-key{color:#fff9;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.67rem}.profile-stat-div{background:#ffffff26;flex-shrink:0;width:1px;height:28px}.profile-tab-bar{border-bottom:1px solid var(--accent-soft);z-index:15;background:#fff;padding:0 24px;display:flex;position:sticky;top:60px;overflow-x:auto;box-shadow:0 2px 8px #0000000a}.profile-tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;flex-shrink:0;align-items:center;gap:7px;padding:14px 16px;font-family:inherit;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.profile-tab-btn svg{flex-shrink:0;width:15px;height:15px}.profile-tab-btn:hover{color:var(--accent)}.profile-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.profile-panel-wrap{flex:1;padding:24px}.profile-panel{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow);overflow:hidden}.profile-panel-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 0;display:flex}.profile-panel-title{color:var(--text-strong);margin:0 0 4px;font-size:1.05rem;font-weight:700}.profile-panel-sub{color:var(--text-muted);margin:0;font-size:.825rem}.profile-edit-trigger{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;min-height:var(--control-h);flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.profile-edit-trigger svg{width:13px;height:13px}.profile-edit-trigger:hover{background:var(--accent-ghost)}.profile-fields{flex-direction:column;gap:20px;padding:24px;display:flex}.profile-field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-field{flex-direction:column;gap:6px;display:flex}.profile-field label{color:#374151;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;font-size:.78rem;font-weight:600;display:flex}.profile-field-lock{color:#9ca3af;display:inline-flex}.profile-field-lock svg{width:11px;height:11px}.profile-field-head-row{justify-content:space-between;align-items:center;display:flex}.profile-field-head-row label{color:#374151;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.profile-input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);min-height:var(--control-h);padding:0 14px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.profile-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.profile-input.is-error{border-color:#f87171}.profile-field-val{font-size:var(--text-base);color:var(--text-strong);background:var(--surface-sunken);border:1px solid var(--border-soft);border-radius:var(--radius);min-height:var(--control-h);align-items:center;padding:0 14px;display:flex}.profile-field-val--muted{color:var(--text-muted)}.profile-field-empty{color:#9ca3af;font-size:.85rem;font-style:italic}.profile-pw-wrap{align-items:center;display:flex;position:relative}.profile-pw-wrap .profile-input{padding-right:44px}.profile-eye-btn{cursor:pointer;color:#9ca3af;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;right:12px}.profile-eye-btn:hover{color:var(--accent)}.profile-eye-btn svg{width:17px;height:17px}.profile-panel-foot{justify-content:flex-end;align-items:center;gap:10px;padding:0 24px 24px;display:flex}.profile-btn-cancel-v2{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;min-height:var(--control-h);justify-content:center;align-items:center;padding:0 20px;font-family:inherit;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.profile-btn-cancel-v2:hover{background:var(--accent-ghost)}.profile-btn-save-v2{background:var(--accent-strong);color:var(--text-on-accent);font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;min-width:130px;min-height:var(--control-h);border:none;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-family:inherit;font-weight:600;transition:opacity .15s,box-shadow .15s;display:flex}.profile-btn-save-v2:hover:not(:disabled){background:var(--accent-strong-hover)}.profile-btn-save-v2:disabled{opacity:.7;cursor:not-allowed}.profile-btn-save-v2 .auth-spinner{width:18px;height:18px}.profile-save-toast{color:#16a34a;background:#f0fdf4;border:1px solid #86efac;border-radius:10px;align-items:center;gap:8px;margin:0 24px 20px;padding:10px 16px;font-size:.85rem;font-weight:500;animation:.3s toast-in;display:flex}.profile-save-toast svg{flex-shrink:0;width:15px;height:15px}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.profile-account-rows{flex-direction:column;padding:20px 24px;display:flex}.profile-account-row{border-bottom:1px solid var(--accent-ghost);align-items:center;gap:16px;padding:16px 0;display:flex}.profile-account-row:last-child{border-bottom:none}.profile-account-icon{background:var(--accent-ghost);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-account-icon svg{width:18px;height:18px}.profile-account-icon--blue{color:#3b82f6;background:#eff6ff}.profile-account-icon--green{color:#16a34a;background:#f0fdf4}.profile-account-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-account-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.profile-account-val{color:var(--text-strong);align-items:center;gap:8px;font-size:.9rem;font-weight:500;display:flex}.profile-upgrade-chip{color:#fff;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:20px;padding:2px 7px;font-size:.65rem;font-weight:700;display:inline-block}.profile-status-ok-v2{color:#16a34a;align-items:center;gap:5px;display:inline-flex}.profile-status-ok-v2 svg{width:13px;height:13px}.profile-danger-v2{border:1.5px solid var(--danger-border);background:var(--danger-bg);border-radius:12px;margin:0 24px 24px;padding:20px}.profile-danger-head{color:#dc2626;align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;font-weight:700;display:flex}.profile-danger-head svg{width:16px;height:16px}.profile-danger-desc-v2{color:var(--text-muted);margin:0 0 16px;font-size:.83rem;line-height:1.5}.profile-signout-v2{background:var(--surface);color:var(--danger);font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;min-height:var(--control-h);border:1px solid #fca5a5;align-items:center;gap:8px;padding:0 18px;font-family:inherit;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex}.profile-signout-v2 svg{width:16px;height:16px}.profile-signout-v2:hover{background:var(--danger-bg)}@media (width<=640px){.profile-hero-body{gap:16px;padding:24px 20px 20px}.profile-avatar-v2{width:64px;height:64px;font-size:1.5rem}.profile-hero-name{font-size:1.2rem}.profile-field-row{grid-template-columns:1fr}.profile-panel-wrap{padding:16px}.profile-fields{gap:16px;padding:16px}.profile-panel-head{padding:16px 16px 0}.profile-panel-foot{padding:0 16px 16px}.profile-account-rows{padding:16px}.profile-danger-v2,.profile-save-toast{margin:0 16px 16px}}.profile-overlay{z-index:100;background:#00000061;justify-content:center;align-items:center;padding:24px;animation:.15s profile-fade-in;display:flex;position:fixed;inset:0}@keyframes profile-fade-in{0%{opacity:0}to{opacity:1}}.profile-dialog{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);text-align:center;padding:32px 28px;animation:.2s profile-slide-up}@keyframes profile-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-dialog-icon{background:var(--danger-bg);border:1.5px solid var(--danger-border);color:#dc2626;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 18px;display:flex}.profile-dialog-icon svg{width:24px;height:24px}.profile-dialog h3{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 8px;font-weight:700}.profile-dialog p{color:#777;margin:0 0 24px;font-size:.875rem;line-height:1.5}.profile-dialog-actions{gap:10px;display:flex}.profile-dialog-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;min-height:var(--control-h);flex:1;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;font-weight:600;transition:background .15s;display:inline-flex}.profile-dialog-cancel:hover{background:var(--accent-ghost)}.profile-dialog-confirm{background:var(--danger);color:var(--text-on-accent);font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;min-height:var(--control-h);border:none;flex:1;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;font-weight:600;transition:filter .15s;display:inline-flex}.profile-dialog-confirm:hover{filter:brightness(.92)}.app-shell{background:#f5f6fa;height:100svh;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-topbar{z-index:40;background:#fff;border-bottom:1px solid #f0f0f5;flex-shrink:0;align-items:center;gap:8px;height:60px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 12px #0000000f}.app-topbar-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.app-hamburger,.app-hamburger--topbar{cursor:pointer;color:#4b5563;background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:background .15s,color .15s;display:none}.app-hamburger:hover,.app-hamburger--topbar:hover{background:var(--accent-ghost);color:var(--accent)}.app-hamburger svg,.app-hamburger--topbar svg{width:20px;height:20px;display:block}.app-topbar-page{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;font-size:1.05rem;font-weight:700;overflow:hidden}.app-topbar-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.app-topbar-sep{background:#e9eaec;border-radius:1px;flex-shrink:0;width:1px;height:22px;margin:0 6px}.app-topbar-balance{border:1px solid var(--border);white-space:nowrap;background:#f8f9fa;border-radius:10px;align-items:center;gap:5px;padding:6px 12px 6px 10px;transition:border-color .15s,background .15s;display:flex}.app-topbar-balance:hover{background:#f1f3f5;border-color:#d1d5db}.app-topbar-wallet-icon{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}.app-topbar-balance-label{color:#64748b;letter-spacing:.02em;font-size:.76rem;font-weight:600}.app-topbar-balance-val{color:var(--navy);letter-spacing:-.01em;font-size:.88rem;font-weight:800}.app-topbar-balance-val--owing{color:var(--danger,#c0392b)}.app-topbar-balance-val--muted{color:#64748b;font-weight:600}.app-topbar-wallets{cursor:pointer;font-family:inherit}.app-topbar-wallets-badge{background:var(--warning);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:2px;padding:0 5px;font-size:.68rem;font-weight:800;display:inline-flex}.app-topbar-icon-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:background .15s,color .15s;display:flex;position:relative}.app-topbar-icon-btn svg{width:18px;height:18px;display:block}.app-topbar-icon-btn:hover{background:var(--accent-ghost);color:var(--accent)}@keyframes notif-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444400}}.app-content{will-change:opacity, transform;flex:1;min-height:0;overflow:auto}.app-content--exiting{pointer-events:none;animation:.18s cubic-bezier(.4,0,1,1) both page-exit}.app-content--entering{animation:.26s cubic-bezier(0,0,.2,1) both page-enter}@keyframes page-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1080px){.app-hamburger,.app-hamburger--topbar{display:flex}}@media (width<=640px){.app-topbar{gap:4px;padding:0 14px}.app-topbar-page,.app-topbar-balance-label{display:none}.app-topbar-sep{margin:0 2px}}.sidebar{background:var(--navy);z-index:50;scrollbar-width:none;flex-direction:column;flex-shrink:0;width:240px;height:100svh;transition:width .26s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden auto;box-shadow:1px 0 #ffffff0a}.sidebar::-webkit-scrollbar{display:none}.sidebar--collapsed{width:64px}.sidebar-overlay{-webkit-backdrop-filter:blur(3px);z-index:49;background:#0000008c;animation:.22s sb-overlay-in;display:none;position:fixed;inset:0}@keyframes sb-overlay-in{0%{opacity:0}to{opacity:1}}.sidebar-brand{border-bottom:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:10px;min-height:62px;padding:18px 14px 14px;display:flex}.sidebar-brand-icon{color:#fff;background:linear-gradient(135deg,#2e59c8,#4d7ef0);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:box-shadow .2s;display:flex;box-shadow:0 3px 12px #3d70e866}.sidebar-brand-icon:hover{box-shadow:0 4px 18px #3d70e894}.sidebar-brand-icon svg{width:16px;height:16px}.sidebar-brand-name{color:#fff;letter-spacing:-.02em;white-space:nowrap;opacity:1;flex:1;min-width:0;font-size:1.02rem;font-weight:800;transition:opacity .18s;overflow:hidden}.sidebar--collapsed .sidebar-brand-name{opacity:0;pointer-events:none}.sidebar-collapse-btn{cursor:pointer;color:#fff6;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;margin-left:auto;padding:5px;transition:color .15s,background .15s;display:flex}.sidebar-collapse-btn:hover{color:#ffffffd9;background:#ffffff14}.sidebar-collapse-btn svg{width:15px;height:15px}.sidebar-send-wrap{flex-shrink:0;padding:12px 10px 8px}.sidebar-send-btn{color:#fff;cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:linear-gradient(135deg,#2e59c8 0%,#3d70e8 60%,#4d7ef0 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 14px;font-family:inherit;font-size:.875rem;font-weight:700;transition:box-shadow .2s,transform .12s;display:flex;overflow:hidden;box-shadow:0 4px 14px #3d70e861}.sidebar-send-btn svg{flex-shrink:0;width:16px;height:16px}.sidebar-send-btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px #3d70e88c}.sidebar-send-btn:active{transform:translateY(0);box-shadow:0 3px 10px #3d70e84d}.sidebar-send-chevron{opacity:.55;flex-shrink:0;width:14px;height:14px;margin-left:auto}.sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:2px;padding:8px 8px 4px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav-divider{background:#ffffff0d;flex-shrink:0;height:1px;margin:6px 4px}.sidebar-nav-item{color:#ffffffb8;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:9px;align-items:center;gap:11px;width:100%;padding:9px 11px 9px 14px;font-family:inherit;font-size:.845rem;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative;overflow:hidden}.sidebar-nav-item:before{content:"";background:#4d7ef0;border-radius:0 3px 3px 0;width:3px;height:58%;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.sidebar-nav-item:hover{color:#ffffffeb;background:#ffffff12}.sidebar-nav-item:hover .sidebar-nav-icon{color:#ffffffd1}.sidebar-nav-item.active{color:#fff;background:#ffffff1f;font-weight:600}.sidebar-nav-item.active:before{transform:translateY(-50%)scaleY(1)}.sidebar-nav-item.active .sidebar-nav-icon{color:#fff}.sidebar-nav-icon{color:#ffffffa6;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;transition:color .15s;display:flex}.sidebar-nav-icon svg{width:17px;height:17px}.sidebar-nav-text{text-overflow:ellipsis;flex:1;min-width:0;transition:opacity .18s;overflow:hidden}.sidebar-nav-chevron{opacity:.25;flex-shrink:0;width:13px;height:13px;margin-left:auto}.sidebar--collapsed .sidebar-nav-item{justify-content:center;gap:0;padding:10px 8px}.sidebar--collapsed .sidebar-nav-item:before{height:50%}.sidebar--collapsed .sidebar-nav-text,.sidebar--collapsed .sidebar-nav-chevron{display:none}.sidebar--collapsed .sidebar-nav-icon{width:22px;height:22px;margin:0}.sidebar--collapsed .sidebar-send-btn{gap:0;padding:11px}.sidebar--collapsed .sidebar-nav-divider{margin:6px 10px}.sidebar-footer{border-top:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:9px;padding:10px 12px 16px;display:flex}.sidebar-profile-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:9px;min-width:0;padding:4px 2px;transition:background .15s;display:flex}.sidebar-profile-btn:hover{background:#3d70e81a}.sidebar-profile-btn:hover .sidebar-footer-avatar{box-shadow:0 0 0 2px #4d7ef0}.sidebar-footer-avatar{color:#fff;-webkit-user-select:none;user-select:none;letter-spacing:.04em;background:#2e59c8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.69rem;font-weight:800;display:flex;box-shadow:0 0 0 2px #3d70e84d}.sidebar-user-label{color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;font-weight:500;transition:opacity .18s;overflow:hidden}.sidebar-logout-btn{color:#ffffff59;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff14;border-radius:7px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:.75rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}.sidebar-logout-btn svg{flex-shrink:0;width:14px;height:14px}.sidebar-logout-btn:hover{color:#f87171;background:#ef44441a;border-color:#ef44444d}.sidebar--collapsed .sidebar-footer{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 8px 16px}.sidebar--collapsed .sidebar-user-label{display:none}.sidebar--collapsed .sidebar-logout-btn{border-radius:7px;padding:6px}@media (width>=769px) and (width<=1080px){.sidebar{width:64px}.sidebar-brand-name,.sidebar-send-chevron,.sidebar-nav-text,.sidebar-nav-chevron,.sidebar-user-label{display:none!important}.sidebar-collapse-btn{display:none}.sidebar-send-btn{gap:0;padding:11px}.sidebar-nav-item{justify-content:center;gap:0;padding:10px 8px}.sidebar-nav-icon{width:22px;height:22px;margin:0}.sidebar-nav-divider{margin:6px 10px}.sidebar-footer{flex-direction:column;align-items:center;gap:8px;padding:10px 8px 16px}.sidebar-logout-btn{padding:6px}}@media (width<=768px){.sidebar{z-index:50;height:100svh;box-shadow:none;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;transform:translate(-110%);width:252px!important}.sidebar--open{transform:translate(0);box-shadow:8px 0 40px #00000073}.sidebar-brand-name,.sidebar-send-chevron,.sidebar-nav-text,.sidebar-nav-chevron,.sidebar-user-label{display:initial!important}.sidebar-send-btn{justify-content:flex-start;gap:8px;padding:11px 14px}.sidebar-nav-item{justify-content:flex-start;gap:11px;padding:9px 11px 9px 14px}.sidebar-nav-icon{width:19px;height:19px}.sidebar-footer{flex-direction:row;align-items:center;gap:9px;padding:10px 12px 16px}.sidebar-logout-btn{padding:6px 10px}.sidebar-overlay{display:block}.app-hamburger,.app-hamburger--topbar{display:flex}}.auth-layout{min-height:100vh;display:flex}.auth-panel{background:linear-gradient(155deg, var(--navy), var(--accent-strong));color:#fff;border-bottom-right-radius:80px;flex-direction:column;flex-shrink:0;width:44%;min-width:360px;max-width:580px;padding:52px 56px;display:flex;position:relative;overflow:hidden}.auth-panel-circle{pointer-events:none;border-radius:50%;position:absolute}.auth-panel-logo{z-index:1;align-items:center;gap:10px;margin-bottom:auto;display:flex;position:relative}.auth-panel-logo svg{opacity:.9;width:26px;height:26px}.auth-panel-logo span{letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.auth-panel-body{z-index:1;margin:auto 0;position:relative}.auth-panel-body h1{letter-spacing:-.035em;color:#fff;margin:0 0 16px;font-size:2.75rem;font-weight:400;line-height:1.12}.auth-panel-body h1 strong{font-weight:800;display:block}.auth-panel-body p{opacity:.65;max-width:290px;margin:0;font-size:.9rem;line-height:1.7}.auth-panel-note{display:none!important}.auth-panel-footer{opacity:.3;z-index:1;margin-top:auto;padding-top:32px;font-size:.72rem;position:relative}.auth-panel-features{z-index:1;flex-direction:column;gap:12px;margin-top:36px;display:flex;position:relative}.auth-panel-feature{opacity:.75;align-items:center;gap:10px;font-size:.82rem;display:flex}.auth-panel-feature-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.auth-form-side{background:#fff;flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex}.auth-form-box{width:100%;max-width:420px}.auth-form-header{margin-bottom:36px}.auth-form-header h2{color:#0a1428;letter-spacing:-.04em;margin:0 0 8px;font-size:2.1rem;font-weight:700;line-height:1.1}.auth-form-header p{color:var(--text-muted);margin:0;font-size:.875rem}.auth-field{flex-direction:column;gap:7px;margin-bottom:20px;display:flex}.auth-field label{color:#374151;letter-spacing:.01em;font-size:.8rem;font-weight:600}.auth-field-row{justify-content:space-between;align-items:center;display:flex}.auth-field input{border:1.5px solid var(--border);color:#0a1428;box-sizing:border-box;background:#fff;border-radius:10px;outline:none;width:100%;height:50px;padding:0 16px;font-family:inherit;font-size:.95rem;transition:border-color .18s,box-shadow .18s}.auth-field input::placeholder{color:#adb5bd}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec21}.auth-field input.is-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef444414}.auth-field-pw{position:relative}.auth-field-pw input{padding-right:50px}.pw-toggle{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:4px;transition:color .15s;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--accent)}.pw-toggle svg{width:17px;height:17px}.auth-btn{color:#fff;cursor:pointer;letter-spacing:.01em;background:linear-gradient(135deg,#071524 0%,#1065a8 100%);border:none;border-radius:10px;justify-content:space-between;align-items:center;width:100%;height:52px;margin-top:12px;padding:0 18px;font-family:inherit;font-size:.95rem;font-weight:600;transition:opacity .18s,box-shadow .18s,transform .12s;display:flex;box-shadow:0 4px 18px #07152447}.auth-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 6px 26px #0715245c}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.auth-btn-text{text-align:center;flex:1}.auth-btn-arrow{background:#ffffff26;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.auth-btn-arrow svg{width:15px;height:15px}.auth-alt{text-align:center;color:var(--text-muted);margin-top:24px;font-size:.85rem}.auth-alt a{color:var(--accent);font-weight:600;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.form-error{background:var(--danger-bg);border:1.5px solid var(--danger-border);color:#dc2626;border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:22px;padding:12px 16px;font-size:.83rem;line-height:1.45;display:flex}.forgot-link{color:var(--accent);font-size:.78rem;font-weight:500;text-decoration:none}.forgot-link:hover{text-decoration:underline}.strength-bar{background:var(--surface-muted);border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.strength-bar-fill{border-radius:2px;height:100%;transition:width .3s,background .3s}.strength-weak{background:#ef4444}.strength-fair{background:#f97316}.strength-good{background:#eab308}.strength-strong{background:#22c55e}.strength-label{font-size:.72rem;font-weight:600}.field-error{color:#ef4444;font-size:.75rem}.auth-spinner{width:18px;height:18px;animation:.8s linear infinite auth-spin}@media (width<=900px){.auth-panel{width:42%;min-width:300px;padding:40px 36px}.auth-panel-body h1{font-size:2.2rem}}@media (width<=768px){.auth-layout{flex-direction:column}.auth-panel{border-bottom-right-radius:0;width:100%;min-width:0;max-width:100%;padding:32px 24px 44px}.auth-panel-body h1{font-size:1.8rem}.auth-panel-body p,.auth-panel-features,.auth-panel-footer{display:none}.auth-form-side{padding:32px 24px 48px}.auth-form-header h2{font-size:1.7rem}}.auth-page{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-otp-box{border:1.5px solid var(--border);text-align:center;background:#fff;border-radius:16px;width:100%;max-width:440px;padding:44px 40px;box-shadow:0 8px 32px #00000014}.auth-otp-icon{color:#fff;background:linear-gradient(135deg,#071524,#1065a8);border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 22px;display:flex;box-shadow:0 4px 16px #07152438}.auth-otp-icon svg{width:26px;height:26px}.auth-success-icon{color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 22px;display:flex;box-shadow:0 4px 16px #16a34a40}.auth-success-icon svg{width:26px;height:26px}.auth-otp-box h2{color:#0a1428;letter-spacing:-.03em;margin:0 0 8px;font-size:1.55rem;font-weight:700}.otp-hint{color:var(--text-muted);margin-bottom:30px;font-size:.875rem;line-height:1.65}.otp-hint strong{color:var(--text-strong)}.otp-timer{color:var(--accent);font-weight:600}.otp-timer.urgent{color:#ef4444}.otp-digits{justify-content:center;gap:10px;margin-bottom:22px;display:flex}.otp-digit{border:1.5px solid var(--border);color:#0a1428;text-align:center;width:52px;height:60px;caret-color:var(--accent);background:#fff;border-radius:10px;outline:none;font-family:inherit;font-size:1.5rem;font-weight:700;transition:border-color .18s,box-shadow .18s,background .18s}.otp-digit:focus{border-color:var(--accent);box-shadow:0 0 0 3px #41bcec21}.otp-digit.filled{background:var(--accent-ghost);border-color:#1065a8}.otp-digit.is-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef444414}.otp-resend{text-align:center;color:#9ca3af;margin-top:18px;font-size:.83rem}.otp-resend button{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.83rem;font-weight:600}.otp-resend button:hover{text-decoration:underline}.otp-resend button:disabled{opacity:.55;cursor:not-allowed}.otp-resend-success{color:#166534;text-align:left;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:.83rem;display:flex}.otp-success-box{flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:44px 36px 40px;animation:.4s cubic-bezier(.22,1,.36,1) otp-success-fadein;display:flex}.otp-success-anim-wrap{justify-content:center;align-items:center;width:180px;height:180px;margin-bottom:8px;display:flex;position:relative}.otp-success-anim-wrap:before{content:"";background:radial-gradient(circle,#1065a81f 0%,#0000 70%);border-radius:50%;animation:1.8s ease-in-out infinite otp-glow-pulse;position:absolute;inset:-12px}.otp-success-title{color:#1065a8;letter-spacing:-.01em;margin:0;font-size:1.4rem;font-weight:700}.otp-success-sub{color:#9ca3af;letter-spacing:.01em;margin:4px 0 0;font-size:.85rem}@media (width<=480px){.auth-otp-box{padding:32px 24px}.otp-digit{width:42px;height:52px;font-size:1.3rem}}.bulk-overlay{-webkit-backdrop-filter:blur(3px);z-index:1100;background:#010e247a;animation:.22s bdFade;position:fixed;inset:0}@keyframes bdFade{0%{opacity:0}to{opacity:1}}.bulk-drawer{background:var(--surface);z-index:1101;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:min(680px,100vw);max-height:92vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.38s cubic-bezier(.22,1,.36,1) bdSlideUp;display:flex;position:fixed;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes bdSlideUp{0%{opacity:.6;transform:translate(-50%)translateY(110%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width>=700px){.bulk-drawer{border-radius:var(--radius-lg);max-height:88vh;box-shadow:var(--shadow-lg);animation:.32s cubic-bezier(.34,1.28,.64,1) bdPopUp;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}@keyframes bdPopUp{0%{opacity:0;transform:translate(-50%,-46%)scale(.93)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}}.bulk-drawer:before{content:"";background:#d1d5db;border-radius:2px;flex-shrink:0;width:40px;height:4px;margin:10px auto 0;display:block}@media (width>=700px){.bulk-drawer:before{display:none}}.bulk-drawer-header{background:linear-gradient(135deg, var(--accent-strong), var(--accent));flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px 16px;display:flex;position:relative;overflow:hidden}.bulk-drawer-header:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff26 0%,#0000 65%);border-radius:50%;width:300px;height:300px;position:absolute;top:-130px;right:-70px}.bulk-drawer-title{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.bulk-drawer-icon{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:1.5px solid #ffffff47;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.bulk-drawer-icon svg{width:22px;height:22px}.bulk-drawer-title h2{font-size:var(--text-lg);color:#fff;letter-spacing:-.01em;margin:0 0 2px;font-weight:700}.bulk-drawer-title p{color:#ffffffa6;margin:0;font-size:.77rem}.bulk-drawer-close{z-index:1;color:#ffffffd9;cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,color .15s;display:flex;position:relative}.bulk-drawer-close:hover{color:#fff;background:#ffffff3d}.bulk-drawer-close svg{width:15px;height:15px}.bulk-drawer-body{flex-direction:column;flex:1;gap:22px;padding:22px 24px;display:flex;overflow-y:auto}.bulk-section{flex-direction:column;gap:10px;display:flex}.bulk-label{color:#374151;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:5px;font-size:.75rem;font-weight:800;display:flex}.bulk-tabs{background:var(--surface-muted);border:1.5px solid var(--border);--bulk-tab-count:3;border-radius:12px;align-items:stretch;gap:0;padding:4px;display:flex;position:relative}.bulk-tabs-slider{width:calc((100% - 8px) / var(--bulk-tab-count));background:linear-gradient(135deg, #014b7a, var(--accent-strong), var(--accent));pointer-events:none;border-radius:9px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 3px 10px #014b7a4d}.bulk-contacts-toprow{align-items:center;gap:8px;display:flex}.bulk-contacts-toprow .bulk-contact-search-wrap{flex:1;min-width:0}.bulk-add-contact-btn,.bulk-csv-btn{background:var(--surface);border:1px solid var(--border);color:var(--accent-strong);font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;white-space:nowrap;min-height:var(--control-h);flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-weight:600;transition:background .15s,border-color .15s;display:flex}.bulk-add-contact-btn:hover,.bulk-csv-btn:hover:not(:disabled){background:var(--accent-ghost)}.bulk-csv-btn:disabled{opacity:.6;cursor:not-allowed}.bulk-csv-row{gap:8px;margin-bottom:4px;display:flex}.bulk-csv-row .bulk-csv-btn{flex:1}.bulk-tab{color:#64748b;cursor:pointer;white-space:nowrap;z-index:1;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-family:inherit;font-size:.83rem;font-weight:700;transition:color .22s;display:flex;position:relative}.bulk-tab--active{color:#fff}.bulk-tab:not(.bulk-tab--active):hover{color:var(--accent-strong)}.bulk-preview-figure{justify-content:center;align-items:baseline;gap:8px;padding:18px 0 10px;display:flex}.bulk-preview-number{color:#0f6a99;font-size:2.4rem;font-weight:800;line-height:1}.bulk-preview-label{color:#64748b;font-size:.9rem}.bulk-preview-skipped{text-align:left;background:#fff8ed;border:1px solid #ffe2b8;border-radius:10px;margin-bottom:14px;padding:12px 14px}.bulk-preview-skipped-title{color:#8a5a00;margin:0 0 6px;font-size:.84rem;font-weight:700}.bulk-preview-skipped ul{color:#8a5a00;margin:0;padding-left:18px;font-size:.82rem}.bulk-preview-skipped li{margin:2px 0}.bulk-unknown-note{color:#8a5a00;text-align:left;background:#fff8ed;border:1px solid #ffe2b8;border-radius:10px;margin:10px 0 0;padding:10px 14px;font-size:.82rem;line-height:1.5}.bulk-preview-message{border:1px solid var(--accent-soft);text-align:left;background:#f8fcff;border-radius:10px;padding:12px 14px}.bulk-preview-message p{color:var(--text-strong);white-space:pre-wrap;word-break:break-word;margin:4px 0 0;font-size:.86rem;line-height:1.5}.bulk-tab-badge{min-width:20px;height:20px;color:var(--accent-strong);background:#1270a01f;border-radius:10px;justify-content:center;align-items:center;padding:0 5px;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex}.bulk-tab--active .bulk-tab-badge{color:#fff;background:#ffffff40}.bulk-tab-panel{flex-direction:column;gap:10px;display:flex}.bulk-contact-search-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--control-h);box-sizing:border-box;align-items:center;gap:10px;padding:0 13px;transition:border-color .15s,box-shadow .15s;display:flex}.bulk-contact-search-wrap:focus-within{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.bulk-contact-search-wrap>svg{color:#94a3b8;flex-shrink:0;width:15px;height:15px}.bulk-contact-search{font-family:inherit;font-size:var(--text-base);color:var(--text-strong);background:0 0;border:none;outline:none;flex:1}.bulk-contact-search::placeholder{color:#94a3b8}.bulk-contact-search-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:2px;transition:color .15s;display:flex}.bulk-contact-search-clear:hover{color:var(--accent-strong)}.bulk-contact-search-clear svg{width:14px;height:14px}.bulk-contact-list{border:1.5px solid var(--border);background:#fff;border-radius:12px;max-height:260px;overflow-y:auto}.bulk-contact-row{cursor:pointer;border-bottom:1px solid var(--surface-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 14px;transition:background .12s;display:flex}.bulk-contact-row:last-child{border-bottom:none}.bulk-contact-row:hover{background:var(--accent-ghost)}.bulk-contact-row--selected{background:#eff8ff}.bulk-contact-row--selected:hover{background:#e0f2fe}.bulk-contact-cb{accent-color:#0ea5e9;cursor:pointer;flex-shrink:0;width:16px;height:16px}.bulk-contact-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.72rem;font-weight:800;display:flex;box-shadow:0 2px 6px #00000026}.bulk-contact-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bulk-contact-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:700;overflow:hidden}.bulk-contact-phone{color:#64748b;font-family:monospace;font-size:.77rem}.bulk-contact-empty{text-align:center;color:#94a3b8;margin:0;padding:32px 16px;font-size:.875rem}.bulk-contact-skeleton{align-items:center;gap:12px;padding:11px 14px;display:flex}.bulk-contact-skeleton-av{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1.5s infinite skshimmer}.bulk-contact-skeleton-lines{flex-direction:column;flex:1;gap:7px;display:flex}.bulk-contact-skeleton-line{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:5px;height:10px;animation:1.5s infinite skshimmer}.bulk-contact-skeleton-line--wide{width:55%}@keyframes skshimmer{to{background-position:-200% 0}}@keyframes bulk-shimmer{0%,to{opacity:.6}50%{opacity:1}}.bulk-selected-bar{color:#0369a1;background:linear-gradient(90deg,#eff8ff,#e0f2fe);border:1px solid #bae6fd;border-radius:9px;justify-content:space-between;align-items:center;padding:9px 14px;font-size:.82rem;font-weight:600;display:flex}.bulk-selected-bar button{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:700;transition:color .12s}.bulk-selected-bar button:hover{color:#b91c1c;text-decoration:underline}.bulk-message-textarea{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);width:100%;font-family:inherit;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);resize:vertical;outline:none;padding:13px 15px;line-height:1.6;transition:border-color .15s,box-shadow .15s,background .15s}.bulk-message-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.bulk-message-textarea::placeholder{color:#94a3b8}.bulk-summary{color:#0369a1;background:linear-gradient(90deg,#eff8ff,#e0f2fe);border:1px solid #bae6fd;border-left:4px solid #0ea5e9;border-radius:0 10px 10px 0;align-items:flex-start;gap:10px;padding:12px 16px;font-size:.84rem;line-height:1.5;display:flex}.bulk-summary>svg{color:#0ea5e9;flex-shrink:0;width:16px;height:16px;margin-top:1px}.bulk-summary strong{color:#014b7a;font-weight:800}.bulk-sending{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding:40px 24px;display:flex}.bulk-sending h3{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:800}.bulk-sending p{color:#64748b;margin:0;font-size:.85rem}@keyframes bulk-spin{to{transform:rotate(360deg)}}.bulk-results{text-align:center;flex-direction:column;flex:1;align-items:center;gap:16px;padding:36px 24px 20px;display:flex}.bulk-results h3{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:800}.bulk-results-icon{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:4px;display:flex}.bulk-results-icon svg{width:32px;height:32px}.bulk-results-icon--success{background:linear-gradient(135deg, #014b7a, var(--accent-strong), var(--accent));color:#fff;box-shadow:0 8px 24px #014b7a4d}.bulk-results-icon--fail{color:#e11d48;background:#fff1f2;box-shadow:0 4px 16px #e11d4826}.bulk-results-icon--partial{color:#d97706;background:#fffbeb;box-shadow:0 4px 16px #d9770626}.bulk-results-stats{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.bulk-result-stat{border:1.5px solid;border-radius:22px;align-items:center;gap:6px;padding:7px 16px;font-size:.84rem;font-weight:700;display:flex}.bulk-result-stat--ok{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.bulk-result-stat--fail{color:#e11d48;background:#fff1f2;border-color:#fecdd3}.bulk-fail-list{text-align:left;background:#fff1f2;border:1.5px solid #fecdd3;border-radius:11px;width:100%;max-height:180px;padding:12px 14px;overflow-y:auto}.bulk-fail-list-title{color:#e11d48;text-transform:uppercase;letter-spacing:.07em;margin:0 0 10px;font-size:.72rem;font-weight:800}.bulk-fail-row{border-bottom:1px solid #fecdd3b3;justify-content:space-between;align-items:center;padding:5px 0;display:flex}.bulk-fail-row:last-child{border-bottom:none}.bulk-fail-recipient{flex-direction:column;gap:1px;display:flex}.bulk-fail-name{color:#0f172a;font-size:.83rem;font-weight:600}.bulk-fail-recipient .bulk-fail-phone{color:#64748b;font-family:monospace;font-size:.72rem;font-weight:400}.bulk-fail-reason{color:#e11d48;text-align:right;padding-left:8px;font-size:.74rem}.bulk-drawer-footer{border-top:1.5px solid var(--surface-muted);background:#fafbfc;flex-shrink:0;gap:10px;padding:16px 24px;display:flex}.bulk-btn-cancel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);color:var(--text);cursor:pointer;min-height:var(--control-h);flex:1;padding:0 12px;font-weight:600;transition:background .15s,border-color .15s}.bulk-btn-cancel:hover{background:var(--accent-ghost)}.bulk-btn-send{background:var(--accent-strong);color:var(--text-on-accent);border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);cursor:pointer;min-height:var(--control-h);border:none;flex:2;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:600;transition:opacity .15s,box-shadow .15s,transform .1s;display:flex}.bulk-btn-send:hover:not(:disabled),.bulk-btn-send:active:not(:disabled){background:var(--accent-strong-hover)}.bulk-btn-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}@media (width<=540px){.bulk-drawer-header{padding:16px 18px 14px}.bulk-drawer-body{gap:18px;padding:14px 16px}.bulk-drawer-footer{padding:12px 16px}.bulk-tabs{border-radius:10px}}.compose-page{background:#f4f6f9!important;flex-direction:column!important;align-items:stretch!important;min-height:100%!important;padding:0!important;display:flex!important}.compose-banner{background:linear-gradient(135deg, #012e52 0%, #014b7a 55%, var(--accent-strong) 100%);flex-shrink:0;padding:28px 32px 68px}.compose-banner-inner{align-items:center;gap:14px;max-width:640px;margin:0 auto;display:flex}.compose-banner-icon{color:#fff;background:#ffffff26;border:1.5px solid #ffffff40;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.compose-banner-title{color:#fff;letter-spacing:-.02em;margin:0 0 3px;font-size:1.45rem;font-weight:800}.compose-banner-sub{color:#ffffffa6;margin:0;font-size:.84rem}.compose-lift{z-index:2;box-sizing:border-box;width:100%;max-width:640px;margin-top:-44px;margin-left:auto;margin-right:auto;padding:0 20px 36px;position:relative}.cf-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-soft);overflow:hidden}.cf-mode-switch{border-bottom:1px solid var(--surface-muted);padding:16px 20px 12px}.cf-mode-switch-track{background:var(--surface-muted);border-radius:13px;align-items:stretch;gap:0;width:100%;padding:4px;display:inline-flex;position:relative}.cf-mode-switch-pill{pointer-events:none;background:#fff;border-radius:10px;width:calc(50% - 4px);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 1px 3px #0000001a,0 2px 8px #014b7a12}.cf-mode-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:default;white-space:nowrap;z-index:1;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-family:inherit;font-size:.87rem;font-weight:600;transition:color .2s;display:inline-flex;position:relative}.cf-mode-btn--active{color:#012e52;font-weight:700}.cf-mode-btn--bulk{cursor:pointer;color:var(--text-muted);transition:color .18s,background .18s}.cf-mode-btn--bulk:hover:not(:disabled){color:var(--accent-strong);background:#1270a00f;border-radius:10px}.cf-mode-btn--bulk:active:not(:disabled){background:#1270a01a}.cf-mode-btn--bulk:disabled{opacity:.38;cursor:not-allowed}.cf-mode-btn-text{display:inline-block;position:relative}.cf-mode-bulk-badge{letter-spacing:.05em;text-transform:uppercase;color:#fff;vertical-align:super;background:#ef4444;border-radius:3px;margin-left:2px;padding:1px 4px;font-size:.42rem;font-weight:800;line-height:1.4;display:inline-block;box-shadow:0 1px 3px #ef44444d}.cf-form{flex-direction:column;gap:18px;padding:24px 24px 20px;display:flex}.cf-field{flex-direction:column;gap:6px;display:flex}.cf-label{color:#374151;letter-spacing:.03em;text-transform:uppercase;font-size:.8rem;font-weight:700}.cf-input{width:100%;font-family:inherit;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;min-height:var(--control-h);outline:none;padding:0 15px;transition:border-color .15s,box-shadow .15s,background .15s}.cf-input::placeholder{color:#9ca3af}.cf-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.cf-input--err{background:snow;border-color:#fca5a5}.cf-input--err:focus{box-shadow:0 0 0 3px #ef44441a}.cf-phone-row{align-items:stretch;gap:8px;display:flex}.cf-phone-row .cf-input{flex:1}.cp-wrap{flex-shrink:0;position:relative}.cp-trigger{border:1.5px solid var(--border);width:46px;height:100%;color:var(--text-muted);cursor:pointer;background:#f9fafb;border-radius:10px;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s,color .15s;display:flex}.cp-trigger svg{width:19px;height:19px}.cp-trigger:hover{color:#374151;background:#fff;border-color:#cbd5e1}.cp-trigger.active{border-color:var(--accent-strong);color:var(--accent-strong);background:#fff;box-shadow:0 0 0 3px #1270a01f}.cp-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:30;width:280px;max-width:calc(100vw - 40px);animation:.16s cpDropIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0f172a24,0 2px 8px #0f172a0f}@keyframes cpDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cp-search-wrap{border-bottom:1px solid var(--surface-muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.cp-search-wrap>svg{color:#9ca3af;flex-shrink:0;width:15px;height:15px}.cp-search{min-width:0;font-family:inherit;font-size:var(--text-base);color:var(--text-strong);background:0 0;border:none;outline:none;flex:1}.cp-search::placeholder{color:#9ca3af}.cp-search-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.cp-search-clear:hover{color:#374151}.cp-search-clear svg{width:13px;height:13px}.cp-list{max-height:260px;overflow-y:auto}.cp-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f8fafc;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;transition:background .12s;display:flex}.cp-item:last-child{border-bottom:none}.cp-item:hover{background:var(--accent-ghost)}.cp-avatar{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.7rem;font-weight:700;display:flex}.cp-info{flex-direction:column;gap:1px;min-width:0;display:flex}.cp-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.cp-phone{color:#9ca3af;font-size:.76rem}.cp-empty{text-align:center;color:#9ca3af;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;font-size:.82rem;display:flex}.cp-empty svg{opacity:.5;width:28px;height:28px}.cp-skeleton{align-items:center;gap:10px;padding:9px 12px;display:flex}.cp-skeleton-avatar{background:#eef2f7;border-radius:50%;flex-shrink:0;width:30px;height:30px}.cp-skeleton-lines{flex-direction:column;flex:1;gap:6px;display:flex}.cp-skeleton-line{background:#eef2f7;border-radius:4px;width:70%;height:9px}.cp-skeleton-line--wide{width:85%}.cp-skeleton-line--narrow{width:45%}.cf-textarea{width:100%;font-family:inherit;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;resize:none;outline:none;padding:12px 15px;line-height:1.65;transition:border-color .15s,box-shadow .15s,background .15s}.cf-textarea::placeholder{color:#9ca3af}.cf-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.cf-err-msg{color:#dc2626;margin:0;font-size:.78rem;font-weight:500}.cf-preview{flex-direction:column;gap:8px;animation:.2s cfSlideIn;display:flex}@keyframes cfSlideIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.cf-preview-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.cf-preview-bubble{background:linear-gradient(135deg, #014b7a, var(--accent-strong) 60%, var(--accent));color:#fff;border-radius:18px 18px 3px;align-self:flex-end;max-width:90%;padding:12px 16px;box-shadow:0 3px 14px #014b7a38}.cf-preview-text{word-break:break-word;white-space:pre-wrap;margin:0 0 4px;font-size:.88rem;line-height:1.5}.cf-preview-to{opacity:.68;text-align:right;font-size:.68rem;display:block}.cf-send-btn{width:100%;font-family:inherit;font-size:var(--text-base);color:var(--text-on-accent);background:var(--accent-strong);border-radius:var(--radius);cursor:pointer;min-height:var(--control-h);border:none;justify-content:center;align-items:center;gap:9px;padding:0 14px;font-weight:600;transition:opacity .15s,box-shadow .15s,transform .12s;display:flex}.cf-send-btn:hover:not(:disabled),.cf-send-btn:active:not(:disabled){background:var(--accent-strong-hover)}.cf-send-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.cf-spin{animation:.8s linear infinite cfSpinAnim}@keyframes cfSpinAnim{to{transform:rotate(360deg)}}.bulk-chip-field{border:1px solid var(--border);border-radius:var(--radius);cursor:text;background:var(--surface);flex-wrap:wrap;align-items:flex-start;gap:6px;min-height:58px;max-height:160px;padding:8px 10px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;overflow-y:auto}.bulk-chip-field:focus-within{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.bulk-chip{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-strong);border-radius:20px;align-items:center;gap:5px;max-width:200px;padding:4px 8px 4px 11px;font-size:.8rem;font-weight:600;animation:.2s cubic-bezier(.34,1.56,.64,1) chipPop;display:inline-flex}.bulk-chip--invalid{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}@keyframes chipPop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.bulk-chip-text{text-overflow:ellipsis;white-space:nowrap;max-width:155px;overflow:hidden}.bulk-chip-remove{width:14px;height:14px;color:inherit;cursor:pointer;background:#0000001a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s;display:flex}.bulk-chip-remove:hover{background:#0003}.bulk-chip-input{min-width:140px;font-size:var(--text-base);color:var(--text-strong);background:0 0;border:none;outline:none;flex:1;padding:3px 0;font-family:inherit}.bulk-chip-input::placeholder{color:#9ca3af}.bulk-chip-stats{align-items:center;gap:10px;min-height:20px;font-size:.75rem;display:flex}.bulk-chip-stat-ok{color:var(--success);font-weight:700}.bulk-chip-stat-bad{color:var(--danger);font-weight:700}.bulk-chip-clear-all{color:#9ca3af;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-family:inherit;font-size:.74rem;transition:color .12s}.bulk-chip-clear-all:hover{color:var(--danger)}.bulk-chip-hint{color:#9ca3af;margin:0;font-size:.72rem;line-height:1.4}.bulk-contacts-toolbar{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.bulk-contacts-actions{align-items:center;gap:6px;display:flex}.bulk-contacts-select-all,.bulk-contacts-clear{cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 10px;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .12s,color .12s}.bulk-contacts-select-all{color:#0369a1;background:#e0f2fe}.bulk-contacts-select-all:hover:not(:disabled){background:#bae6fd}.bulk-contacts-select-all:disabled{opacity:.4;cursor:default}.bulk-contacts-clear{color:var(--text-muted)}.bulk-contacts-clear:hover{background:var(--surface-muted)}.bulk-contacts-selected-count{color:#0369a1;background:#e0f2fe;border-radius:20px;padding:3px 8px;font-size:.75rem;font-weight:700}.bulk-progress-ring-wrap{justify-content:center;align-items:center;width:168px;height:168px;display:inline-flex;position:relative}.bulk-progress-ring-label{flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute}.bulk-pct{color:#012e52;letter-spacing:-.04em;font-size:2.2rem;font-weight:900;line-height:1}.bulk-pct-sub{color:var(--text-muted);font-size:.72rem;font-weight:600}@keyframes feedIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.bulk-fail-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.bulk-retry-btn,.bulk-copy-btn{font-family:inherit;font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;min-height:var(--control-h);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 20px;font-weight:600;transition:background .15s;display:inline-flex}.bulk-retry-btn{background:var(--accent-strong);color:var(--text-on-accent);border:none}.bulk-retry-btn:hover{background:var(--accent-strong-hover)}.bulk-copy-btn{background:var(--surface);color:var(--accent-strong);border:1px solid var(--border)}.bulk-copy-btn:hover{background:var(--accent-ghost)}@media (width<=600px){.compose-banner{padding:22px 18px 60px}.compose-banner-title{font-size:1.2rem}.compose-lift{margin-top:-36px;padding:0 12px 28px}.cf-form{padding:18px 16px 16px}.cf-mode-switch{padding:12px 14px 10px}.cf-mode-btn{gap:5px;padding:9px 10px;font-size:.82rem}.cf-mode-bulk-badge{display:none}}@media (width<=400px){.compose-banner-icon{display:none}.cf-mode-switch-track{width:100%}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--accent:#41bcec;--accent-strong:#1270a0;--accent-strong-hover:#0f5c84;--accent-soft:#eaf4fb;--accent-ghost:#f0f7ff;--navy:#1b2845;--text:#33415c;--text-strong:#1a1a2e;--text-muted:#6b7280;--text-faint:#8a94a6;--text-on-accent:#fff;--surface:#fff;--surface-sunken:#fbfdff;--page-bg:#f0f7ff;--border:#d9e7f2;--border-soft:#eaf2f8;--surface-muted:#f1f5f9;--accent-border:#b3e5f7;--success:#12805a;--success-bg:#eafaf3;--warning:#a86a12;--warning-bg:#fff5e5;--danger:#c02b3f;--danger-bg:#fdeff1;--danger-border:#fecaca;--radius-sm:6px;--radius:9px;--radius-lg:14px;--radius-pill:999px;--space-1:4px;--space-2:6px;--space-3:10px;--space-4:14px;--space-5:20px;--space-6:28px;--shadow-sm:0 1px 2px #1270a00f;--shadow:0 2px 12px #1270a00f;--shadow-lg:0 18px 50px #0c284247;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Consolas, monospace;--text-xs:.72rem;--text-sm:.78rem;--text-base:.85rem;--text-md:.95rem;--text-lg:1.05rem;--text-xl:1.45rem;--control-h:38px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{font-size:16px}body{font-family:var(--sans);font-size:var(--text-base);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.5}#root{background:var(--surface);flex-direction:column;width:100%;min-height:100svh;display:flex}h1,h2,h3,h4{font-family:var(--sans);color:var(--text-strong);letter-spacing:-.01em;font-weight:700;line-height:1.25;font-size:inherit}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}code{font-family:var(--mono);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-strong);padding:2px 6px;font-size:.95em}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius);background:var(--accent-strong);color:var(--text-on-accent);font-size:var(--text-base);cursor:pointer;white-space:nowrap;border:1px solid #0000;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.ui-btn:hover:not(:disabled){background:var(--accent-strong-hover)}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--ghost{background:var(--surface);border-color:var(--border);color:var(--accent-strong)}.ui-btn--ghost:hover:not(:disabled){background:var(--accent-ghost)}.ui-btn--danger{background:var(--danger)}.ui-btn--danger:hover:not(:disabled){background:var(--danger);filter:brightness(.92)}.ui-btn--subtle{color:var(--text-muted);background:0 0;border-color:#0000}.ui-btn--subtle:hover:not(:disabled){background:var(--accent-ghost);color:var(--text-strong)}.ui-btn--sm{height:30px;padding:0 var(--space-3);font-size:var(--text-sm)}.ui-btn--block{width:100%}.ui-icon-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.ui-icon-btn:hover:not(:disabled){background:var(--accent-ghost);color:var(--text-strong)}.ui-icon-btn:disabled{opacity:.5;cursor:not-allowed}.ui-icon-btn--sm{width:30px;height:30px}.ui-icon{flex-shrink:0;width:16px;height:16px}.ui-icon--sm{width:14px;height:14px}.ui-icon--lg{width:20px;height:20px}button>svg:not(.ui-svg-free),label>svg:not(.ui-svg-free),td>svg:not(.ui-svg-free),th>svg:not(.ui-svg-free){flex-shrink:0;width:16px;height:16px}.ui-input,.ui-select,.ui-textarea{width:100%;padding:0 var(--space-3);height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-strong);font-size:var(--text-base);transition:border-color .15s,box-shadow .15s}.ui-textarea{height:auto;min-height:92px;padding:var(--space-3);resize:vertical;line-height:1.55}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--text-faint)}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:#c2d9ea}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #41bcec26}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{opacity:.6;cursor:not-allowed}.ui-input--error,.ui-select--error,.ui-textarea--error{border-color:var(--danger)}.ui-label{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text);font-weight:600;display:block}.ui-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-faint);line-height:1.5;display:block}.ui-error{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--danger);font-weight:600;display:block}.ui-search{flex:1;align-items:center;min-width:180px;display:flex;position:relative}.ui-search>svg{left:var(--space-3);width:15px;height:15px;color:var(--text-faint);pointer-events:none;position:absolute}.ui-search>input{width:100%;height:var(--control-h);padding:0 var(--space-3) 0 34px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-strong);font-size:var(--text-base)}.ui-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.ui-page{background:var(--page-bg);flex-direction:column;min-height:100%;display:flex}.ui-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.ui-table th{text-align:left;border-bottom:1px solid var(--border-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);white-space:nowrap;padding:13px 16px;font-weight:700}.ui-table td{color:var(--text);vertical-align:middle;border-bottom:1px solid #f2f7fb;padding:13px 16px}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr:hover td{background:var(--accent-ghost)}.ui-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--text-xs);background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;padding:3px 10px;font-weight:700;display:inline-flex}.ui-badge--success{background:var(--success-bg);color:var(--success)}.ui-badge--warning{background:var(--warning-bg);color:var(--warning)}.ui-badge--danger{background:var(--danger-bg);color:var(--danger)}.ui-badge--muted{color:var(--text-muted);background:#f2f7fb}.ui-empty{padding:48px var(--space-6);text-align:center}.ui-empty h2{font-size:var(--text-lg);margin-bottom:var(--space-2)}.ui-empty p{max-width:46ch;margin:0 auto var(--space-5);color:var(--text-muted);line-height:1.6}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-strong)!important;outline-offset:2px!important}.placeholder-page{justify-content:center;align-items:center;gap:var(--space-3);min-height:60vh;padding:var(--space-6);text-align:center;background:var(--page-bg);flex-direction:column;display:flex}.placeholder-icon{border-radius:var(--radius-lg);background:var(--accent-soft);width:56px;height:56px;color:var(--accent-strong);justify-content:center;align-items:center;display:flex}.placeholder-icon>svg{width:26px;height:26px}.placeholder-title{font-size:var(--text-xl);color:var(--text-strong)}.placeholder-desc{max-width:48ch;color:var(--text-muted);line-height:1.6}.placeholder-badge{margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--warning-bg);color:var(--warning);font-size:var(--text-xs);padding:4px 12px;font-weight:700}
