:root{--bg: #fafafa;--fg: #1a1a1a;--muted: #6b7280;--border: #e5e7eb;--primary: #0078d4;--primary-hover: #106ebe;--google: #ffffff;--google-border: #dadce0;--google-hover: #f6f9fe;--card-bg: #ffffff;--alert: #c2410c;--alert-bg: #fff7ed;--success: #15803d;--success-bg: #f0fdf4}*{box-sizing:border-box;margin:0;padding:0}body{font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);min-height:100vh;-webkit-font-smoothing:antialiased}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--muted)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:100%;max-width:26rem;text-align:center;box-shadow:0 1px 3px #0000000a}.login-card h1{font-size:1.5rem;margin-bottom:.25rem}.login-card .subtitle{color:var(--muted);font-size:.875rem;margin-bottom:1.5rem}.login-card p.muted{margin-bottom:1rem;font-size:.9375rem}.login-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;background:var(--primary);color:#fff;text-decoration:none;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;font-size:.9375rem;width:100%;cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit}.login-button.microsoft{background:var(--primary)}.login-button.microsoft:hover{background:var(--primary-hover)}.login-button.google{background:var(--google);color:#3c4043;border:1px solid var(--google-border);font-weight:500}.login-button.google:hover{background:var(--google-hover);border-color:#c6c8ca}.login-button.secondary{background:transparent;color:var(--fg);border:1px solid var(--border);font-weight:500}.login-button.secondary:hover:not(:disabled){background:#f3f4f6}.login-button:disabled{opacity:.5;cursor:not-allowed}.divider{margin:1.25rem 0;position:relative;text-align:center;font-size:.8125rem;color:var(--muted)}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border)}.divider:before{left:0}.divider:after{right:0}.divider span{background:var(--card-bg);padding:0 .5rem;position:relative}.magic-form{display:flex;flex-direction:column;gap:.75rem;text-align:left}.magic-form input[type=email]{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:.9375rem}.magic-form input[type=email]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0078d426}.magic-form .muted{margin-bottom:0}.alert{background:var(--alert-bg);color:var(--alert);border:1px solid #fed7aa;border-radius:6px;padding:.625rem .875rem;font-size:.875rem;margin-bottom:1rem;text-align:left}.alert.success{background:var(--success-bg);color:var(--success);border-color:#bbf7d0}.alt-link{font-size:.875rem;color:var(--muted);margin-top:1.5rem}.alt-link a{color:var(--primary);text-decoration:none}.alt-link a:hover{text-decoration:underline}.small{font-size:.8125rem}.home-container{max-width:60rem;margin:0 auto;padding:2rem}.home-container header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.5rem;border-bottom:1px solid var(--border);margin-bottom:2rem}.home-container h1{font-size:1.25rem}.home-container h2{font-size:1.5rem;margin-bottom:.75rem}.user-menu{display:flex;align-items:center;gap:1rem;font-size:.875rem}.user-menu button{background:transparent;border:1px solid var(--border);border-radius:6px;padding:.375rem .875rem;cursor:pointer;font:inherit;font-size:13px;color:var(--fg)}.user-menu button:hover{background:#f3f4f6}.muted{color:var(--muted)}.invite-section{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:1.5rem;margin-top:2rem}.invite-section h3{margin:0 0 .5rem;font-size:1.0625rem}.invite-section .muted{margin-bottom:1rem;font-size:.875rem}.invite-form{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin-top:.5rem}.invite-form input[type=email]{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font:inherit}.invite-form input[type=email]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0078d426}.invite-form .login-button{width:auto;white-space:nowrap}.profile-section{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:1.75rem 2rem;max-width:36rem;margin:0 auto 2rem}.profile-section h2{margin-bottom:.5rem}.profile-section .muted{margin-bottom:1.5rem;font-size:.9375rem}.profile-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field>span{font-size:.8125rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.form-field input,.form-field select{padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:.9375rem;background:#fff}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0078d426}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:.875rem}@media (max-width: 480px){.form-row{grid-template-columns:1fr}}.clients-section{margin-top:2rem}.clients-section h3{font-size:1.0625rem;margin-bottom:.75rem}.clients-table{width:100%;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.clients-table th,.clients-table td{text-align:left;padding:.75rem 1rem;font-size:.875rem;border-bottom:1px solid var(--border)}.clients-table th{background:#f9fafb;font-weight:600;color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}.clients-table tr.client-row:hover{background:#fafafa}.clients-table tr.client-row-detail td{background:#fafafa;padding:1rem 1.25rem}.client-details{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0}.client-details dt{font-weight:600;font-size:.8125rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.client-details dd{margin:0;font-size:.9375rem}.badge{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge.ok{background:var(--success-bg);color:var(--success)}.badge.pending{background:var(--alert-bg);color:var(--alert)}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;font:inherit;font-size:.875rem;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.link-button.danger{color:#b91c1c;font-size:.75rem;margin-left:.5rem}.market-snapshot{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.75rem 2rem;margin-bottom:2rem;box-shadow:0 1px 2px #00000008}.snapshot-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.snapshot-area{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.375rem}.snapshot-headline{font-size:1.5rem;line-height:1.3;margin:0}.snapshot-date{font-size:.8125rem;white-space:nowrap}.snapshot-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:1.25rem}.snapshot-stat{text-align:left}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.1;color:var(--fg)}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:.25rem}.stat-sub{font-size:.75rem;margin-top:.125rem}.snapshot-body p{margin-bottom:.75rem;font-size:.9375rem;line-height:1.6}.snapshot-body p:last-child{margin-bottom:0}.snapshot-source{margin-top:1rem;font-size:.8125rem;padding-top:.75rem;border-top:1px solid var(--border)}.snapshot-source a{color:var(--primary);text-decoration:none}.snapshot-source a:hover{text-decoration:underline}.market-editor{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:1.5rem 1.75rem;margin:2rem 0}.market-editor .section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.market-editor .section-head h3{margin:0;font-size:1.0625rem}.market-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.market-form textarea{padding:.625rem .875rem;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:.9375rem;resize:vertical;font-family:inherit}.market-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0078d426}.form-row.triple{grid-template-columns:repeat(3,1fr)}@media (max-width: 600px){.form-row.triple{grid-template-columns:1fr}}.snapshot-history{border-top:1px solid var(--border);padding-top:1rem}.snapshot-history h4{font-size:.875rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.snapshot-history ul{list-style:none;padding:0}.snapshot-history li{padding:.375rem 0;font-size:.875rem;border-bottom:1px dashed var(--border)}.snapshot-history li:last-child{border-bottom:none}.rates-section,.calculator-section{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:1.5rem 1.75rem;margin:1.5rem 0}.rates-section .section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.rates-section h3,.calculator-section h3{margin:0;font-size:1.0625rem}.calculator-section h3{margin-bottom:.25rem}.rates-grid{overflow-x:auto;margin-bottom:.75rem}.rates-table{width:100%;border-collapse:collapse;font-size:.875rem}.rates-table th,.rates-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.rates-table th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f9fafb}.rates-table .bank-name{font-weight:600}.rates-table .rate-cell{white-space:nowrap}.rate-pct{font-variant-numeric:tabular-nums;font-weight:500}.rate-pct.special{color:var(--success);font-weight:700}.rate-note{font-size:.6875rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rates-disclaimer{margin-top:.5rem;font-style:italic}.rates-table.editor .rate-cell{padding:.25rem .5rem}.rate-pct-btn{background:transparent;border:1px dashed transparent;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;color:var(--fg)}.rate-pct-btn:hover{background:#f3f4f6;border-color:var(--border)}.rate-edit{display:flex;gap:.375rem;align-items:center}.rate-edit input{width:4.5rem;padding:.25rem .5rem;border:1px solid var(--primary);border-radius:4px;font:inherit;font-size:.875rem;font-variant-numeric:tabular-nums}.calculator-form{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.calc-results{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.calc-results h4{margin-bottom:.75rem;font-size:.9375rem}details{margin-top:2rem;padding:1rem 1.25rem;background:#f3f4f6;border-radius:8px}details summary{cursor:pointer;font-weight:600;color:var(--muted);font-size:.875rem}details pre{margin-top:1rem;font-size:12px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.ratios-calc{margin-top:2rem;padding:1.5rem;background:#fff;border:1px solid var(--border);border-radius:10px}.ratios-calc h2{margin-top:0}.ratios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem 1rem;margin:1rem 0}.ratios-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.ratios-grid input{padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;font:inherit}.ratios-results{margin-top:1.25rem}.ratio-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:.7rem 1rem;border-radius:8px;margin-bottom:.5rem}.ratio-row.pass{background:#e8f3ec;border:1px solid #b6dbc2}.ratio-row.fail{background:#fdecea;border:1px solid #e9b9b3}.ratio-row .ratio-value{font-size:1.4rem;font-weight:700}.ratio-row.pass .ratio-flag{color:#1f6f3f;font-weight:600}.ratio-row.fail .ratio-flag{color:#b00020;font-weight:600}.ratios-breakdown{margin-top:1rem}.ratios-breakdown table{width:100%;border-collapse:collapse}.ratios-breakdown td{padding:.35rem .6rem;border-bottom:1px solid var(--border);font-size:.9rem}.ratios-breakdown td:last-child{text-align:right;font-variant-numeric:tabular-nums}.education{margin-top:2rem;padding:1.5rem;background:#fff;border:1px solid var(--border);border-radius:10px}.education-head{display:flex;justify-content:space-between;align-items:center}.education-head h2{margin:0}.education-grid{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;margin-top:1rem;min-height:400px}.education-list input[type=search]{width:100%;padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;font:inherit;margin-bottom:.7rem}.education-list ul{list-style:none;margin:0;padding:0}.education-list li{margin-bottom:.3rem}.note-link{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;padding:.5rem .7rem;cursor:pointer;color:inherit;font:inherit}.note-link:hover{background:#f3f4f6}.note-link.active{background:#e8f0fa;border-color:#c4dbf3}.note-title{font-weight:500}.note-date{font-size:.78rem;color:var(--muted);margin-top:.15rem}.education-detail{background:#fafafa;border:1px solid var(--border);border-radius:8px;padding:1.2rem 1.4rem}.education-detail label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.8rem;font-size:.9rem}.education-detail input,.education-detail textarea{padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;font:inherit}.education-detail textarea{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9rem;resize:vertical}.detail-head{display:flex;justify-content:space-between;align-items:center}.detail-head h3{margin:0}.detail-actions{display:flex;gap:.5rem}.link-button.danger{color:var(--danger, #b00020)}.actions{display:flex;gap:.7rem;align-items:center}.markdown-body{margin-top:1rem;line-height:1.55}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:1.2rem}.markdown-body table{border-collapse:collapse;margin:.7rem 0}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:.4rem .7rem}.markdown-body code{background:#f3f4f6;padding:.1rem .3rem;border-radius:3px;font-size:.88em}.markdown-body pre{background:#f3f4f6;padding:.8rem;border-radius:6px;overflow-x:auto}.markdown-body blockquote{border-left:3px solid var(--border);margin:.7rem 0;padding-left:.8rem;color:var(--muted)}@media (max-width: 720px){.education-grid{grid-template-columns:1fr}}.market-prices{margin-top:2rem;padding:1.5rem;background:#fff;border:1px solid var(--border);border-radius:10px}.mp-head{display:flex;justify-content:space-between;align-items:center}.mp-head h2{margin:0}.mp-tabs{display:flex;gap:.4rem}.mp-tabs button{background:transparent;color:var(--muted);border:1px solid var(--border);padding:.35rem .9rem;border-radius:6px;cursor:pointer}.mp-tabs button.active{background:var(--ink, #1c1c1a);color:#fff;border-color:var(--ink, #1c1c1a)}.mp-selectors{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.2rem 0}.mp-selectors label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.mp-selectors select{padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;font:inherit;background:#fff}.mp-result{margin-top:1rem}.mp-result h3{margin:0 0 .2rem}.mp-table{width:100%;border-collapse:collapse;margin-top:.8rem}.mp-table th,.mp-table td{padding:.55rem .7rem;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}.mp-table th{background:#f4f2eb;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.mp-table.small th,.mp-table.small td{padding:.4rem .55rem;font-size:.85rem}.mp-table tr.selected{background:#e8f0fa}.mp-table .row-actions{white-space:nowrap}.mp-table .row-actions button{margin-right:.6rem}.mp-manage-search{display:flex;gap:.7rem;align-items:center;margin:.8rem 0}.mp-manage-search input{flex:1;padding:.45rem .7rem;border:1px solid var(--border);border-radius:6px;font:inherit}.mp-manage-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.2rem}.mp-prices-panel{background:#fafafa;border:1px solid var(--border);border-radius:8px;padding:1rem 1.1rem}.mp-prices-panel h4{margin:0 0 .6rem;font-size:1rem}.mp-price-form{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border)}.mp-price-form h5{margin:0 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.mp-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem .8rem;margin-bottom:.6rem}.mp-price-grid label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.mp-price-grid input,.mp-price-grid select{padding:.4rem .6rem;border:1px solid var(--border);border-radius:5px;font:inherit;background:#fff}.add-community{margin:.5rem 0 1rem;padding:.6rem 1rem;background:#f9f9f7;border:1px solid var(--border);border-radius:8px}.add-community summary{cursor:pointer;font-weight:500}.mp-add-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:.6rem .8rem;margin-top:.7rem;align-items:end}.mp-add-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.mp-add-form input{padding:.4rem .6rem;border:1px solid var(--border);border-radius:5px;font:inherit}.mp-add-form button{grid-column:4;align-self:end;padding:.5rem 1rem}@media (max-width: 800px){.mp-selectors,.mp-manage-grid{grid-template-columns:1fr}}.boards .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.board-list{list-style:none;padding:0;margin:12px 0 0}.board-row{border:1px solid #e6e3dd;border-radius:10px;padding:12px 14px;margin-bottom:10px}.board-row.revoked{opacity:.55}.board-row .board-meta{display:flex;flex-direction:column;gap:2px}.board-actions{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap}.board-manager{margin-top:14px;padding-top:12px;border-top:1px dashed #e6e3dd}.board-manager h4{margin:14px 0 6px}.board-listings,.board-reactions,.search-results{list-style:none;padding:0;margin:0}.bl-item,.sr-item,.board-reactions li{padding:7px 0;border-bottom:1px solid #f0ede7}.bl-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bl-item .danger{margin-left:auto}.sr-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.sr-info{min-width:0}.sr-add{display:flex;align-items:center;gap:8px;flex-shrink:0}.sr-note{width:160px;padding:5px 8px;border:1px solid #e6e3dd;border-radius:6px;font-size:.85rem}.badge.ok{background:#e7f3ec;color:#1f7a3d}.badge.pending{background:#f3efe7;color:#8a6d1f}.sr-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 4px;padding:8px 12px;background:#f3efe7;border-radius:8px}.sr-bar .login-button{width:auto;margin:0;padding:8px 16px}.sr-selectall{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.sr-item{gap:10px}.sr-check{flex-shrink:0;display:flex;align-items:center;cursor:pointer}.sr-check input{width:18px;height:18px;cursor:pointer}.sr-item .sr-info{flex:1;min-width:0}.sr-item.sel{background:#f3efe7;border-radius:6px}
