:root{--color-bg:#f6f7fb;--color-surface:#fff;--color-border:#e5e8ef;--color-border-strong:#d6dae3;--color-text:#1a1f2b;--color-text-muted:#667085;--color-text-faint:#98a2b3;--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-primary-light:#eef2ff;--color-success:#12b76a;--color-success-bg:#ecfdf3;--color-danger:#f04438;--color-danger-bg:#fef3f2;--color-warning:#f79009;--color-warning-bg:#fffaeb;--color-info:#0ea5e9;--color-info-bg:#f0f9ff;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 4px 12px #10182814;--shadow-lg:0 12px 32px #10182824;--sidebar-width:248px;--header-height:64px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}#root{min-height:100vh}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}a{color:inherit}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:.9rem}::selection{background:var(--color-primary-light)}.scroll-thin::-webkit-scrollbar{width:8px;height:8px}.scroll-thin::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:8px}.auth-screen{background:radial-gradient(circle at top left, #eef2ff 0%, var(--color-bg) 55%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);flex-direction:column;gap:1.1rem;width:360px;padding:2.5rem;display:flex}.auth-card h1{font-size:1.3rem}.auth-subtitle{color:var(--color-text-muted);margin:0;font-size:.85rem}.auth-error{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.82rem}.auth-hint{color:var(--color-text-faint);text-align:center;margin:0;font-size:.75rem}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);color:#fff;background:#111528;flex-direction:column;height:100vh;padding:1.25rem .75rem;display:flex;position:sticky;top:0}.sidebar-brand{color:#fff;align-items:center;gap:.6rem;padding:0 .5rem 1.5rem;font-size:1.05rem;font-weight:700;display:flex}.sidebar-brand .brand-icon{background:linear-gradient(135deg,#6366f1,#4338ca);border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-link{color:#9aa4bf;border-radius:var(--radius-sm);align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:.86rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff0f}.sidebar-link.active{color:#fff;background:#6366f12e}.sidebar-footer{color:#6b7390;padding:.5rem;font-size:.72rem}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:5;justify-content:space-between;align-items:center;padding:0 1.75rem;display:flex;position:sticky;top:0}.app-header-title{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.app-header-user{align-items:center;gap:.9rem;font-size:.85rem;display:flex}.user-chip{align-items:center;gap:.5rem;display:flex}.user-avatar{background:var(--color-primary-light);width:30px;height:30px;color:var(--color-primary-dark);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}.user-role-badge{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.app-content{flex:1;padding:1.75rem}.page-loading{min-height:100vh;color:var(--color-text-muted);justify-content:center;align-items:center;gap:.6rem;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h2{font-size:1.3rem}.page-subtitle{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.85rem}.page-header-actions{flex-shrink:0;gap:.6rem;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;padding:1.1rem 1.4rem;display:flex}.card-header h3{font-size:1rem}.card-subtitle{color:var(--color-text-muted);margin:.2rem 0 0;font-size:.8rem}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.45rem;padding:.55rem .95rem;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:#f2f3f7}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#d92d20}.btn-ghost{color:var(--color-text-muted);background:0 0;padding:.4rem .6rem}.btn-ghost:hover:not(:disabled){color:var(--color-text);background:#f2f3f7}.btn-spinner{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--color-text);background:#f2f3f7}.icon-btn.danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field{color:var(--color-text);flex-direction:column;gap:.35rem;margin-bottom:.9rem;font-size:.82rem;display:flex}.form-label{color:#344054;font-weight:600}.form-required{color:var(--color-danger);margin-left:2px}.form-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);outline:none;width:100%;padding:.55rem .7rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-error{color:var(--color-danger);font-size:.75rem}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.86rem}.data-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border);white-space:nowrap;background:#fafbfc;padding:.75rem 1.4rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;padding:.8rem 1.4rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fafbff}.row-clickable{cursor:pointer}.cell-muted{color:var(--color-text-muted)}.cell-actions{justify-content:flex-end;gap:.35rem;display:flex}.table-loading{color:var(--color-text-muted);justify-content:center;align-items:center;gap:.5rem;padding:3rem 0;display:flex}.empty-state{color:var(--color-text-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3.5rem 1rem;display:flex}.empty-state p{color:var(--color-text-muted);margin:0;font-size:.88rem}.badge{letter-spacing:.01em;border-radius:999px;align-items:center;padding:.22rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-default{color:#475467;background:#f2f4f7}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.modal-overlay{z-index:50;background:#10182873;justify-content:center;align-items:center;padding:1rem;animation:.12s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-panel{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg);flex-direction:column;max-height:90vh;animation:.14s ease-out modalIn;display:flex}@keyframes fadeIn{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;display:flex}.modal-header h3{font-size:1rem}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;display:flex}.modal-close:hover{background:#f2f3f7}.modal-body{padding:1.4rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.6rem;padding:1rem 1.4rem;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:.4rem;padding:1.1rem 1.3rem;display:flex}.stat-label{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.stat-value{letter-spacing:-.01em;font-size:1.4rem;font-weight:700}.stat-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:.3rem;display:flex}.text-right{text-align:right}.flex-between{justify-content:space-between;align-items:center;display:flex}.search-input-wrap{position:relative}.search-input-wrap svg{color:var(--color-text-faint);position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.search-input-wrap input{padding-left:2.1rem}.password-toggle-btn{cursor:pointer;color:var(--color-text-faint);background:0 0;border:none;border-radius:4px;align-items:center;padding:.25rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--color-text)}.search-input-wrap .password-toggle-btn svg{position:static;left:auto;transform:none}.filter-bar{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.filter-bar .form-input{width:auto;min-width:160px}.checkbox-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;max-height:160px;padding:.75rem;display:flex;overflow-y:auto}.checkbox-row{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.share-builder{flex-direction:column;gap:.6rem;display:flex}.share-row{align-items:center;gap:.5rem;display:flex}.share-row .form-input{margin:0}.share-pct-wrap{flex-shrink:0;align-items:center;gap:.35rem;width:110px;display:flex}.share-total{border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.85rem;font-weight:600}.share-total-ok{color:var(--color-success);background:var(--color-success-bg)}.share-total-bad{color:var(--color-danger);background:var(--color-danger-bg)}.received-progress{align-items:center;gap:.5rem;min-width:90px;display:flex}.received-progress-track{background:#eef0f4;border-radius:999px;flex:1;height:6px;overflow:hidden}.received-progress-fill{border-radius:999px;height:100%;transition:width .2s}.received-progress-label{color:var(--color-text-muted);text-align:right;flex-shrink:0;width:32px;font-size:.72rem;font-weight:600}.party-selector{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.party-selector-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.tabs{border-bottom:1px solid var(--color-border);gap:.25rem;margin-bottom:1.25rem;display:flex}.tab-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.65rem 1rem;font-size:.86rem;font-weight:600}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.detail-item{flex-direction:column;gap:.25rem;display:flex}.detail-label{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.detail-value{color:var(--color-text);font-size:.92rem}.chip-list{flex-wrap:wrap;gap:.4rem;display:flex}.chip{color:#344054;background:#f2f4f7;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:500}.activity-item{border-bottom:1px solid var(--color-border);gap:.85rem;padding:.9rem 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.activity-content{flex:1;min-width:0}.activity-meta{color:var(--color-text-faint);margin-top:.15rem;font-size:.78rem}.activity-diff{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fafbfc;max-width:100%;margin-top:.5rem;padding:.65rem .85rem;font-size:.8rem;overflow-x:auto}.activity-diff-row{word-break:break-word;gap:.5rem;padding:.2rem 0;display:flex}.activity-diff-row+.activity-diff-row{border-top:1px dashed var(--color-border)}.activity-diff-key{min-width:110px;color:var(--color-text-faint);flex-shrink:0;font-weight:600}.activity-diff-old{color:var(--color-danger);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--color-danger) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--color-danger) 50%, transparent)}.activity-diff-new{color:var(--color-success);font-weight:600}.activity-diff-arrow{color:var(--color-text-faint);flex-shrink:0}.activity-diff-value{word-break:break-word;overflow-wrap:anywhere}.back-link{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.35rem;margin-bottom:.75rem;font-size:.85rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-text)}
