*{box-sizing:border-box}html{overflow-x:hidden;width:100%}body{overflow-x:hidden;width:100%;margin:0}#root{overflow-x:hidden;width:100%}button,input,select,textarea{font-size:inherit}input::placeholder{color:#7a6a5a}.nav-scroll::-webkit-scrollbar{display:none}:root{--bg: #1a1424;--cream: #f0e6d0;--gold: #c9a270;--dim: #7a6a5a;--muted: #8a7a6a;--body: #a09080;--border: #c9a27033;--border-light: #c9a27022;--border-gold: #c9a27044;--green: #7dab8a;--green-dark: #2d5a3d;--red: #e07a5f;--amber: #d4880f;--card-bg: #2a2034;--overlay: rgba(10, 8, 16, .7);--purple: #9a6ad4;--purple-bg: #1e1530;--red-bg: #2a1818;--font-body: "Source Serif 4", Georgia, serif;--font-heading: "Newsreader", Georgia, serif;--h1: 58px;--h2: 29px}.row{display:flex;align-items:center}.row-between{display:flex;justify-content:space-between;align-items:center}.row-baseline{display:flex;justify-content:space-between;align-items:baseline}.col{display:flex;flex-direction:column}.text-cream{color:var(--cream)}.text-gold{color:var(--gold)}.text-muted{color:var(--muted)}.text-dim{color:var(--dim)}.text-body{color:var(--body)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-amber{color:var(--amber)}.text-purple{color:var(--purple)}.font-light{font-weight:300}.font-bold{font-weight:600}.tabular{font-variant-numeric:tabular-nums}.card{padding:14px;background:var(--card-bg);border-radius:4px}.card-summary{padding:12px 14px;background:var(--card-bg);border-radius:4px}.divider{border-bottom:1px solid var(--border-light)}.divider-gold{border-bottom:2px solid var(--gold)}.section-head{margin-bottom:12px;margin-top:40px}.section-head h2{font-family:var(--font-heading);font-size:var(--h2);font-weight:300;color:var(--cream);margin:0;letter-spacing:.3px}.section-head p{color:var(--muted);margin:3px 0 0;font-style:italic;line-height:1.4}.clickable{cursor:pointer}.editable{cursor:pointer;border-bottom:1px dotted var(--border-gold);padding:0 2px}.btn-ghost{background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.btn-remove{background:none;border:none;color:var(--dim);cursor:pointer;padding:0 4px;line-height:1}.btn-remove:hover{color:var(--red)}.btn-add{background:none;border:1px solid var(--gold);color:var(--gold);cursor:pointer;padding:4px 12px;border-radius:20px;margin:10px 0 20px;font-family:var(--font-body);letter-spacing:.2px;transition:all .15s ease}.btn-add:hover{background:var(--gold);color:var(--bg)}.btn-link{background:none;border:none;color:var(--dim);cursor:pointer;font-family:var(--font-body);padding:2px 0;border-bottom:1px dotted var(--border-gold)}.btn-link:hover{color:var(--gold)}.btn-month-arrow{background:none;border:none;font-size:var(--h2);color:var(--muted);cursor:pointer;padding:4px 8px;line-height:1}.btn-month-arrow:hover{color:var(--cream)}.btn-close{background:none;border:none;font-size:var(--h2);color:var(--dim);cursor:pointer;line-height:1;padding:0;flex-shrink:0}.btn-close:hover{color:var(--gold)}.btn-paid{border-radius:20px;padding:2px 10px;cursor:pointer;font-family:inherit;white-space:nowrap}.btn-add-session{margin-top:10px;background:none;border:1px solid #c9a27055;border-radius:20px;color:var(--gold);padding:3px 12px;cursor:pointer;font-family:inherit;letter-spacing:.3px}.btn-add-session:hover{background:#c9a27022}.btn-add-client{background:none;border:1px solid #c9a27066;border-radius:20px;color:var(--gold);padding:5px 20px;cursor:pointer;font-family:var(--font-body);letter-spacing:.5px}.btn-add-client:hover{background:var(--border-gold)}.card-clickable{padding:10px 14px;border-radius:2px;cursor:pointer;transition:opacity .15s ease}.card-clickable:hover{opacity:.8}.dropdown-option{cursor:pointer;font-family:var(--font-body)}.dropdown-option:hover{background:var(--card-bg)}.info-link{color:var(--green);text-decoration:none;border-bottom:1px solid #7dab8a66}.info-link:hover{opacity:.7}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;align-items:center;justify-content:center;padding:12px}.modal-overlay-scroll{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px;overflow-y:auto}.modal-content{background:var(--bg);border-radius:6px;padding:20px;max-width:560px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.modal-content-info{background:var(--card-bg);border-radius:6px;padding:24px 20px 32px;max-width:560px;width:100%;box-shadow:0 12px 48px #0000002e;font-family:var(--font-body);line-height:1.65}.edit-input{font-family:inherit;font-size:inherit;border:none;border-bottom:1.5px solid var(--gold);outline:none;background:transparent;padding:0 2px;color:var(--cream)}.btn-confirm{background:none;border-radius:20px;padding:2px 10px;cursor:pointer;font-family:inherit}.client-card{margin-bottom:10px;border-radius:4px}.client-header{display:flex;align-items:center;padding:10px 12px;cursor:pointer;gap:8px}.client-body{padding:4px 14px 14px}.client-notes{display:block;width:100%;min-height:56px;font-family:var(--font-body);line-height:1.6;background:#0d0a12;border:1px solid #c9a27033;border-radius:2px;color:#c8b89a;padding:8px 10px;outline:none;resize:vertical;box-sizing:border-box}.session-input{font-family:inherit;background:transparent;border:none;border-bottom:1px dotted #c9a27055;outline:none;cursor:pointer;padding:0 2px}.session-select{font-family:inherit;background:transparent;border:1px solid #c9a27044;border-radius:20px;padding:1px 8px;cursor:pointer;outline:none;max-width:140px}.csv-textarea{font-family:monospace;line-height:1.5;flex:1;min-height:200px;border:1px solid var(--border);border-radius:3px;padding:12px;resize:vertical;background:var(--card-bg);color:var(--cream);outline:none}.dropdown-panel{position:absolute;top:100%;background:var(--bg);border:1px solid var(--border);border-radius:3px;box-shadow:0 2px 8px #0000004d}.nav-tab{background:none;border:none;flex-shrink:0;padding:8px 14px 7px;font-family:var(--font-heading);cursor:pointer;letter-spacing:.3px;transition:all .2s ease}.legend-dot{width:8px;height:8px;border-radius:1px;display:inline-block}.stats-row{display:flex;justify-content:space-between;padding:3px 0;color:var(--muted)}.birth-select{font-family:inherit;background:transparent;border:none;border-bottom:1px dotted #c9a27044;outline:none;cursor:pointer;padding:0 2px;-moz-appearance:none;appearance:none;-webkit-appearance:none}
