:root{--bg: #f5f5f4;--panel: #ffffff;--text: #1c1c1e;--muted: #6e6e73;--border: #d1d1d6;--grid-line: #000;--accent: #0a84ff;--accent-contrast: #ffffff;--danger: #ff3b30;--shadow: 0 10px 30px rgba(0, 0, 0, .12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #1c1c1e;--panel: #2c2c2e;--text: #f2f2f7;--muted: #98989d;--border: #48484a;--grid-line: #000;--shadow: 0 10px 30px rgba(0, 0, 0, .5)}}html[data-appearance=light]{--bg: #f5f5f4;--panel: #ffffff;--text: #1c1c1e;--muted: #6e6e73;--border: #d1d1d6;--shadow: 0 10px 30px rgba(0, 0, 0, .12)}html[data-appearance=dark]{--bg: #1c1c1e;--panel: #2c2c2e;--text: #f2f2f7;--muted: #98989d;--border: #48484a;--shadow: 0 10px 30px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:13px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.center-screen{height:100%;display:flex;align-items:center;justify-content:center}.muted{color:var(--muted)}.auth-card{width:340px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:28px}.auth-card h1{margin:0 0 4px;font-size:20px;letter-spacing:.2px}.auth-card .sub{color:var(--muted);margin:0 0 18px;font-size:12px}.auth-card form{display:flex;flex-direction:column;gap:10px}.auth-card label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.auth-card input{text-transform:none;letter-spacing:normal;font-weight:400}.btn-primary{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:8px;padding:9px 12px;font-weight:600}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.error-text{color:var(--danger);font-size:12px;margin:0}.ok-text{color:var(--muted);font-size:12px;margin:0;white-space:pre-line}.auth-footer{margin-top:16px;font-size:12px;color:var(--muted);text-align:center}.auth-footer a{color:var(--accent);text-decoration:none}.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar .title{font-weight:700;letter-spacing:.3px}.topbar .spacer{flex:1}.topbar .who{color:var(--muted);font-size:12px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--border);color:var(--text)}.badge.accent{background:var(--accent);color:var(--accent-contrast)}.page{display:flex;flex-direction:column;height:100%}.page-body{flex:1;display:flex;min-height:0}.projects-page{flex:1;overflow:auto;padding:24px 32px;max-width:860px;width:100%;margin:0 auto}.projects-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.projects-head h2{margin:0;font-size:18px}.new-project{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}.new-project>div{display:flex;gap:8px}.projects-note{color:var(--muted)}.projects-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.project-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px;text-decoration:none;color:var(--text)}.project-card:hover{border-color:var(--accent)}.project-card-name{font-weight:600;margin-bottom:8px;word-break:break-word}.project-card-meta{display:flex;align-items:center;gap:8px;font-size:12px}.topbar .project-name{font-weight:500;color:var(--muted);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-picker{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.font-btn{border:none;background:transparent;color:var(--text);padding:5px 9px;font-weight:600}.font-btn.active{background:var(--accent);color:var(--accent-contrast)}.grid-area{flex:1;min-width:0;position:relative;background:var(--bg)}.grid-container{position:absolute;inset:0;overflow:auto;outline:none}.grid-container:focus{box-shadow:inset 0 0 0 1px var(--accent)}.grid-inner{min-height:100%}.grid-header{display:grid;background:var(--panel);border-bottom:1px solid var(--grid-line)}.grid-header .gutter{background:var(--panel);border-right:1px solid var(--grid-line)}.head-cell{border-right:1px solid var(--grid-line);display:flex;flex-direction:column;justify-content:flex-end;padding:0 6px;overflow:hidden}.head-letters{font-size:10px;color:var(--muted);text-align:center;line-height:1.3}.head-title{font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--text);line-height:1.4;white-space:nowrap}.grid-group{display:grid}.gutter{background:var(--panel);border-left:1px solid var(--grid-line);border-right:1px solid var(--grid-line)}.gutter-num{font-size:10px;color:var(--muted);text-align:right;padding-right:5px;line-height:1;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:4px;box-sizing:border-box}.cell{box-sizing:border-box;border-right:1px solid var(--grid-line);border-bottom:1px dotted var(--grid-line);padding:2px 5px;overflow:hidden;position:relative;display:flex;flex-direction:column}.grid-group>.merge-cell{border-top:1px solid var(--grid-line)}.grid-group:last-child>.merge-cell{border-bottom:1px solid var(--grid-line)}.cell.top-edge{border-top:1px solid var(--grid-line)}.cell.bottom-edge{border-bottom:1px solid var(--grid-line)}.cell.no-bottom{border-bottom:none}.grid-group:not(:last-child)>.merge-cell{border-bottom:none}.cell.data-cell{cursor:default}.cell-text{white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;line-height:inherit;flex:1;min-height:0}.cell.tinted .cell-text{color:inherit}.cell.tint-unknown{background:#8080802e}.cell.struck .cell-text,.init-cell.struck .merge-name{text-decoration:line-through}.cell.selected{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.cell.hovered{background-image:linear-gradient(#0a84ff14,#0a84ff14)}.cell .head-title,.cell{font-size:inherit}.merge-cell{display:flex;align-items:flex-start;padding:2px 5px;overflow:hidden}.merge-number{font-weight:600;white-space:nowrap}.init-cell{font-weight:600;gap:4px;flex-direction:row;align-items:flex-start}.merge-name{font-weight:600;min-width:0;white-space:normal;overflow-wrap:break-word;word-break:break-word}.status-chevron{position:absolute;right:4px;top:4px;font-size:9px;opacity:.7;pointer-events:none}.inline-editor{flex:1;min-height:0;border:none;outline:none;resize:none;background:transparent;color:inherit;font:inherit;line-height:inherit;white-space:pre-wrap;word-break:break-word;overflow:hidden;padding:0}.inspector{width:320px;min-width:320px;border-left:1px solid var(--border);background:var(--panel);overflow-y:auto;display:flex;flex-direction:column}.insp-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--panel)}.insp-init{display:flex;gap:8px;align-items:baseline;min-width:0}.insp-init-number{color:var(--muted);font-size:11px;font-weight:600}.insp-init-name{font-weight:700;overflow-wrap:break-word;word-break:break-word}.insp-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.insp-copy{font-size:11px;padding:3px 8px;border-radius:6px}.insp-close{border:none;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.insp-tabs{display:flex;gap:4px;padding:8px 14px;border-bottom:1px solid var(--border)}.insp-tab{border:none;background:transparent;color:var(--muted);font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;cursor:pointer}.insp-tab:hover{color:var(--text);background:#80808014}.insp-tab.active{color:var(--text);background:#80808024}.insp-history{padding:4px 14px}.insp-history-field{font-weight:600}.insp-deleted{margin:10px 14px 0;font-size:11px;color:var(--danger)}.insp-row-name{padding:10px 14px 4px;font-weight:700;font-size:15px;word-break:break-word}.insp-fields{padding:4px 14px;display:flex;flex-direction:column;gap:8px}.insp-label{font-size:12px;font-weight:700;letter-spacing:.5px;color:#000}.insp-value{font-size:12px;white-space:pre-wrap;word-break:break-word}.insp-empty{color:var(--muted)}.insp-status{display:inline-block;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:600}.insp-updates{border-top:1px solid var(--border);margin-top:8px;padding:10px 14px;flex:1}.insp-updates-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}.insp-add{font-size:11px;padding:4px 8px}.insp-empty-updates{color:var(--muted);font-size:12px}.insp-update{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px}.insp-update-ro{opacity:.75}.insp-update-time{font-size:10px;color:var(--muted);margin-bottom:3px}.insp-update-user{color:var(--accent);text-decoration:none}.insp-update-user:hover{text-decoration:underline}.insp-update-text{font-size:12px;white-space:pre-wrap;word-break:break-word}.ctx-menu{min-width:180px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:4px;display:flex;flex-direction:column;z-index:1000}.ctx-item{display:flex;align-items:center;gap:8px;border:none;background:transparent;color:var(--text);text-align:left;padding:6px 10px;border-radius:6px;font-size:13px;cursor:pointer;position:relative}.ctx-item:hover:not(:disabled){background:#0a84ff1f}.ctx-item:disabled{color:var(--muted);cursor:default}.ctx-danger{color:var(--danger)}.ctx-sep{height:1px;background:var(--border);margin:4px 6px}.ctx-has-sub:hover .ctx-submenu{display:block}.ctx-caret{margin-left:auto;color:var(--muted)}.ctx-submenu{display:none;position:absolute;left:100%;top:-4px;min-width:160px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:4px;flex-direction:column}.status-menu{max-width:260px}.status-item{gap:8px}.status-swatch{width:14px;height:14px;min-width:14px;border-radius:4px;border:1px solid rgba(128,128,128,.4);font-size:8px;display:inline-flex;align-items:center;justify-content:center}.status-name{flex:1}.status-weight{color:var(--muted);font-size:11px}.status-check{color:var(--accent)}.when-popover{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:10px;width:240px;z-index:1000}.when-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.when-title{font-size:12px;font-weight:700}.when-nav{border:none;background:transparent;color:var(--text);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px}.when-nav:hover{background:#80808026}.when-year{width:100%;margin-bottom:8px}.when-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.when-wd{font-size:9px;color:var(--muted);text-align:center;padding:3px 0;font-weight:700}.when-cell{border:none;background:transparent;color:var(--text);font-size:11px;padding:5px 0;border-radius:5px;cursor:pointer}.when-cell:hover:not(:disabled){background:#0a84ff26}.when-cell:disabled{cursor:default;opacity:.5}.when-selected{background:var(--accent);color:var(--accent-contrast);font-weight:700}.when-empty{cursor:default}.when-actions{display:flex;gap:8px;margin-top:8px}.when-btn{flex:1;font-size:11px;padding:5px 8px}.sheet-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2000}.sheet{width:420px;max-width:92vw;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:16px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sheet-title{font-weight:700;font-size:14px}.sheet-close{border:none;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.sheet-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.update-editor{width:100%;font:inherit;resize:vertical;min-height:80px}.confirm-message{font-size:13px;line-height:1.5;white-space:pre-line}.btn-danger{background:var(--danger)}.conflict-banner{background:#fff3cd;color:#664d03;padding:8px 16px;font-size:12px;cursor:pointer;border-bottom:1px solid #ffeeba}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:13px;z-index:3000;box-shadow:var(--shadow);max-width:70vw}.empty-grid .btn-primary{margin-top:12px}.members-sheet{display:flex;flex-direction:column;gap:14px}.seat-meter{display:flex;align-items:center;gap:10px;font-size:12px}.seat-meter.large{font-size:13px;margin:6px 0 12px}.seat-label{color:var(--muted);min-width:42px}.seat-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.seat-fill{height:100%;background:var(--accent, #2563eb);border-radius:4px;transition:width .2s ease}.seat-count{font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.member-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.member-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid var(--border);border-radius:8px}.member-who{display:flex;flex-direction:column;min-width:0}.member-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-email{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.member-role,.member-pick,.member-pick-role{font:inherit;font-size:12px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text)}.member-remove{font-size:12px}.member-add{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:12px}.member-add-label{font-weight:600;font-size:12px;color:var(--muted)}.member-add-row{display:flex;gap:6px}.member-pick{flex:1;min-width:0}.badge.role-owner{background:#e6f4ea;color:#137333}.badge.role-collaborator{background:#e8f0fe;color:#1a56db}.badge.role-guest{background:#f1f3f4;color:#5f6368}.team-page{max-width:720px;margin:24px auto;padding:0 16px;display:flex;flex-direction:column;gap:16px}.team-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.team-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.team-card-head h2{font-size:15px;margin:0}.team-subscriber{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px}.team-admin-add{display:flex;gap:6px}.team-projects{display:flex;flex-direction:column;gap:10px}.team-project{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.team-project-name{font-weight:600;font-size:13px;color:var(--accent, #2563eb);text-decoration:none;display:inline-block;margin-bottom:6px}.team-project-name:hover{text-decoration:underline}.team-project-members{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg)}.chip em{font-style:normal;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.chip.role-owner{border-color:#a3d9b1;background:#e6f4ea}.chip.role-collaborator{border-color:#c2d7ff;background:#e8f0fe}.chip.role-guest{border-color:#dadce0;background:#f1f3f4}.appearance-toggle{font-size:13px;line-height:1;padding:4px 8px}.mention{background:color-mix(in srgb,var(--accent) 16%,transparent);border-radius:3px;padding:0 2px;font-weight:600;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.small{font-size:11px}.form-error{color:var(--danger, #d93025);font-size:12px}.form-notice{color:#137333;font-size:12px}.text-input{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.seat-input{width:70px}.notes-input{width:160px}.admin-page{max-width:960px;margin:24px auto;padding:0 16px}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.admin-tab{border:none;background:transparent;padding:9px 14px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.admin-tab.active{color:var(--text);border-bottom-color:var(--accent, #2563eb)}.admin-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.admin-toolbar{display:flex;gap:14px;margin-bottom:10px;min-height:16px}.admin-newsub{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.admin-members{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.admin-member-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg2, #ececec);border:1px solid var(--border);border-radius:10px;padding:1px 6px;font-size:12px}.admin-member-chip em{font-style:normal;font-weight:700;font-size:10px;color:var(--muted)}.admin-member-chip .chip-x{border:none;background:none;cursor:pointer;font-size:13px;color:var(--muted);padding:0 2px}.admin-member-chip .chip-x:hover{color:#c0392b}.admin-add-member{display:inline-flex;gap:4px;align-items:center}.admin-add-member .text-input{width:120px;font-size:12px;padding:3px 6px}.admin-add-member select{font-size:12px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.admin-table select{font:inherit;font-size:12px;padding:3px 5px;border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--text)}.seat-cell{display:inline-flex;align-items:center;gap:6px}.home-link{text-decoration:none}.sheet-wide{width:640px;max-width:94vw}.settings-section{padding:6px 0 16px;border-bottom:1px solid var(--border)}.settings-section:last-child{border-bottom:none;padding-bottom:4px}.settings-section h3{margin:4px 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-section-head h3{margin:4px 0 10px}.settings-toggle{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;padding:4px 0}.settings-note{font-size:12px;line-height:1.5;margin:8px 0 0;max-width:560px}.status-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;padding-right:4px}.status-row{display:flex;flex-direction:column}.status-row-main{display:flex;align-items:center;gap:8px}.status-color-swatch{height:24px;min-width:26px;border-radius:6px;border:1px solid rgba(128,128,128,.4);font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:var(--text)}.status-color-swatch-lg{width:54px;font-size:10px;flex-shrink:0}.status-name-input{flex:1;min-width:0;font:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.status-weight-input{width:54px;font:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);text-align:right;flex-shrink:0}.status-pct{font-size:12px;width:12px;flex-shrink:0}.status-delete{border:none;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 8px;border-radius:6px;flex-shrink:0}.status-delete:hover{color:#fff;background:#c0392b}.status-color-picker{margin-top:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.status-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(26px,1fr));gap:4px;max-height:132px;overflow-y:auto}.status-color-picker .status-color-swatch{width:100%;min-width:0;font-size:0}.status-color-swatch.active{outline:2px solid var(--accent);outline-offset:1px}.status-color-custom{display:flex;align-items:center;gap:8px;margin-top:10px}.status-color-custom input{font:inherit;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);width:130px}.status-add{display:flex;gap:8px;margin-top:10px}.status-add input{flex:1;min-width:0;font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.captcha{display:flex;flex-direction:column;gap:6px}.captcha-row{display:flex;align-items:center;gap:8px}.captcha-question{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.06em;-webkit-user-select:none;user-select:none}.captcha-input{width:90px;font:inherit;font-size:14px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.secret-qs{display:grid;gap:10px;margin:10px 0 14px}.secret-q{display:grid;gap:4px}.secret-q-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer}.secret-q-check input[type=checkbox]{margin-top:2px}.secret-q-answer{width:100%;font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.secret-q-block{display:grid;gap:4px;font-size:13px}.secret-q-text{font-weight:500}.projects-actions{display:flex;gap:8px}.project-card-backup{margin-left:8px;padding:2px 8px;font-size:12px}.modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:20px 22px;width:400px;max-width:90vw;box-shadow:0 12px 40px #00000038;display:grid;gap:12px}.modal h3{margin:0}.modal label{display:grid;gap:4px;font-size:13px}.modal input,.modal select{font:inherit;font-size:14px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.license-banner{padding:8px 16px;font-size:13px;font-weight:500;text-align:center}.license-banner.suspended{background:#fdecea;color:#b03a2e;border-bottom:1px solid #f5c6cb}.license-banner.expired{background:#fff8e1;color:#8a6d00;border-bottom:1px solid #f0e0a0}.subscription-card .license-status{margin:8px 0 4px}.license-line{display:block;font-weight:600;font-size:15px}.license-status.expired .license-line{color:var(--danger, #d93025)}.license-detail{display:block;color:#667085;font-size:13px;margin-top:3px}.sub-options{display:flex;gap:16px;margin:14px 0 10px;flex-wrap:wrap}.sub-opt{display:flex;flex-direction:column;gap:4px}.sub-opt select,.sub-opt input{padding:6px 8px;border:1px solid #d0d5dd;border-radius:6px;font-size:14px;font-family:inherit;min-width:120px;background:#fff;color:inherit}.quote-box{border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;margin:8px 0;background:#10182805}.quote-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:3px 0}.quote-line.discount span:first-child{color:#137333}.quote-line.total{border-top:1px solid #e5e7eb;margin-top:6px;padding-top:8px;font-weight:700}.quote-note{color:#137333;font-size:13px;margin:6px 0 0}.sub-pay{margin-top:12px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.paypal-host{width:100%;min-height:44px}.sub-done{margin-top:12px;font-size:13px}.sub-recurring-actions{display:flex;flex-direction:column;gap:10px;margin:12px 0 4px}.sub-opt-row{display:flex;gap:8px;flex-wrap:wrap}.sub-opt-row .btn-ghost,.sub-opt-row input{padding:6px 10px}.btn-ghost.danger{color:var(--danger, #d93025)}.btn-ghost.danger:hover{background:#fef2f2;border-color:#fecaca}.payments-table td.mono,.payments-table th{font-size:12px}.pay-status{font-size:11px;padding:2px 8px;border-radius:10px}.pay-status.captured{background:#e6f4ea;color:#137333}.pay-status.pending{background:#fef7e0;color:#8a6d00}.pay-status.failed{background:#fdeceb;color:var(--danger, #d93025)}.admin-section-title{margin:22px 0 6px;font-size:14px;font-weight:700}.admin-form-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin:10px 0}.admin-form-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#667085}.admin-form-row input,.admin-form-row select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #d0d5dd;border-radius:6px;min-width:110px;background:#fff;color:inherit}.payments-table .notes-cell{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top;font-size:11px}.projects-sections{display:flex;flex-direction:column;gap:18px}.projects-section-title{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;margin:0 0 8px}.project-card-name{display:flex;align-items:center;gap:8px}.project-card-account{font-size:11px;color:#98a2b3;font-weight:400}.invite-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eef0f3}.invite-row .invite-who{flex:1;min-width:0}.invite-status{font-size:11px;padding:2px 8px;border-radius:10px}.invite-status.pending{background:#fef7e0;color:#8a6d00}.invite-status.accepted{background:#e6f4ea;color:#137333}.invite-status.rejected{background:#fdeceb;color:var(--danger, #d93025)}.invite-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin:10px 0}.invite-form input,.invite-form select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #d0d5dd;border-radius:6px;min-width:120px;background:#fff;color:inherit}.invite-banner{border:1px solid #d0d5dd;border-radius:8px;padding:12px 14px;margin-bottom:14px;background:#10182805}.invite-banner h3{margin:0 0 8px;font-size:14px}.sub-opt-account{font:inherit;font-size:13px;padding:4px 8px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:inherit;margin-left:12px}.admin-projects-group{margin-bottom:18px}
