:root{--color-primary: #4b0082;--color-primary-dark: #35005c;--color-secondary: #008000;--color-accent: #ffd700;--color-bg: #fafafa;--color-text: #1a1a1a;--color-border: #e6e6e6;--font-heading: "Montserrat", system-ui, sans-serif;--font-body: "Open Sans", system-ui, sans-serif;font-family:var(--font-body);color-scheme:light}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700}.app-header{display:flex;align-items:center;gap:1.5rem;padding:.75rem 2rem;background:var(--color-primary);color:#fff}.app-brand{display:flex;align-items:center;gap:.75rem}.app-logo{height:40px;width:auto;border-radius:4px}.app-header h1{font-size:1.1rem;margin:0;color:#fff}.app-header nav{display:flex;gap:1.25rem;flex:1}.app-header nav a{color:#e6d9f5;text-decoration:none;font-weight:600;transition:color .15s ease}.app-header nav a:hover,.app-header nav a.active{color:var(--color-accent)}.app-header button{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);padding:.4rem .9rem;border-radius:4px;cursor:pointer;font-family:var(--font-body);transition:background .15s ease,color .15s ease}.app-header button:hover{background:var(--color-accent);color:var(--color-primary-dark)}.app-content{padding:2rem;max-width:960px;margin:0 auto}.card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000f}.card.highlight{border-left:4px solid var(--color-accent)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.auth-page{max-width:420px;margin:4rem auto;padding:2rem;background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 3px #0000000f}.auth-logo{display:block;margin:0 auto 24px;height:80px;width:auto}.auth-page h1{color:var(--color-primary);font-size:1.4rem;margin-top:0}.auth-page form{display:flex;flex-direction:column;gap:.75rem}.auth-page label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.auth-page input{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-family:var(--font-body)}.auth-page a{color:var(--color-primary);font-weight:600}button{background:var(--color-primary);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:4px;cursor:pointer;font-size:.95rem;font-family:var(--font-body);font-weight:600;transition:background .15s ease,color .15s ease}button:hover:not(:disabled){background:var(--color-accent);color:var(--color-primary-dark)}button:disabled{background:#c9c9c9;color:#6b6b6b;cursor:not-allowed}.error{color:#c0392b}.success{color:var(--color-secondary)}.profile-form{display:flex;flex-direction:column;gap:1rem;max-width:480px}.profile-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.profile-form input{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;font-family:var(--font-body)}.profile-form input:disabled{background:var(--color-bg);color:#888}.profile-form button{align-self:flex-start}.muted{color:#888;font-size:.85rem}.amount{font-size:1.5rem;font-weight:700;font-family:var(--font-heading);color:var(--color-primary)}.status-badge{display:inline-block;padding:.15rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#e0e0e0}.status-active,.status-paid,.status-approved{background:#e3f2e3;color:var(--color-secondary)}.status-pending{background:#fff8d6;color:#8a6d00}.status-suspended,.status-cancelled,.status-refunded{background:#f8d7da;color:#721c24}.commissions-table{width:100%;border-collapse:collapse}.commissions-table th,.commissions-table td{text-align:left;padding:.6rem;border-bottom:1px solid var(--color-border)}.commissions-table th{font-family:var(--font-heading);color:var(--color-primary)}.matrix-tree{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center}.matrix-level h4{margin:.5rem 0;color:var(--color-primary)}.matrix-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.matrix-node{border:1px solid var(--color-border);border-radius:6px;padding:.5rem .75rem;font-size:.8rem;min-width:110px}.matrix-node.me{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.matrix-node.filled{background:#e3f2e3;border-color:#cfe8cf}.matrix-node.empty{background:#f8f9fa;color:#aaa;border-style:dashed}
