:root{--navy: #1a3a6b;--navy-dark: #142f58;--navy-soft: #e8eef7;--gold: #c4a572;--gold-hover: #b69560;--gold-soft: #d4b583;--rule-gold: rgba(196, 165, 114, .55);--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg: #f7f5f1;--surface: #ffffff;--surface-soft: #fbfaf7;--child-row-bg: #EAEFF5;--text: #1f1f1f;--text-soft: #3a3a3a;--border: #d8d3ca;--ink: var(--text);--ink-soft: var(--text-soft);--ink-muted: #8b94a3;--line: #e3e1dc;--line-strong: var(--border);--accent: var(--navy);--accent-hover: var(--navy-dark);--accent-soft: var(--navy-soft);--danger: #a4243b;--danger-soft: #faecee;--success: #2d5d3e;--success-soft: #e7f0ea;--warn-bg: #fdf6e3;--warning: #c5a25c;--warning-soft: #fdf6e3;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 16px rgba(15, 23, 42, .06);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .18);--radius: 6px;--radius-sm: 4px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{max-width:1600px;margin:0 auto;padding:32px 24px 0}.app-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid var(--rule-gold)}.brand-logo{height:32px;width:auto;display:block}.app-header .doc-type{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.header-right{display:flex;align-items:center;gap:14px}.save-status{font-size:11px;color:var(--ink-muted);display:flex;align-items:center;gap:6px;font-feature-settings:"tnum";letter-spacing:.04em}.save-status .dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.save-status.unsaved .dot{background:var(--warn-bg);border:1px solid #c5a25c}.save-status.error .dot{background:var(--danger)}.header-status{display:flex;flex-direction:column;align-items:flex-end;gap:3px;position:relative}.profile-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;display:flex;align-items:center;gap:5px;cursor:pointer;padding:0;font:inherit;transition:opacity .12s ease}.profile-trigger:hover{opacity:.7}.header-profile-icon{color:var(--ink-muted);flex-shrink:0}.header-profile-name{font-size:11px;font-weight:500;color:var(--ink-soft);letter-spacing:.02em}.header-profile-chevron{font-size:9px;color:var(--ink-muted);flex-shrink:0}.header-profile-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;background:var(--surface);border:1px solid var(--rule-gold);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:200px;overflow:hidden}.header-profile-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;display:block;width:100%;padding:9px 14px;text-align:left;font:inherit;font-size:12px;color:var(--ink-soft);cursor:pointer;transition:background .12s ease,color .12s ease}.header-profile-menu-item:hover{background:var(--accent-soft);color:var(--accent)}.header-profile-error{position:absolute;top:calc(100% + 6px);right:0;z-index:49;background:var(--danger-soft);color:var(--danger);border:1px solid rgba(164,36,59,.2);border-radius:var(--radius-sm);font-size:11px;padding:6px 10px;min-width:200px;max-width:280px;display:flex;align-items:flex-start;gap:6px;box-shadow:var(--shadow-sm)}.header-profile-error span{flex:1;line-height:1.4}.header-profile-error-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--danger);cursor:pointer;font-size:12px;padding:0;flex-shrink:0}.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.section-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.section-head h2{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0;color:var(--ink-soft)}.section-body{padding:20px}.section-head-right{display:flex;align-items:center;gap:8px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 20px}.field-grid.cols-3{grid-template-columns:repeat(3,1fr)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.field-input,.field-select,.field-textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 11px;width:100%;transition:border-color .12s ease,box-shadow .12s ease}.field-input:focus,.field-select:focus,.field-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-textarea{resize:vertical;min-height:60px;line-height:1.45}.field-error{display:block;font-size:12px;color:var(--danger);margin-top:4px}.expense-table{width:100%;border-collapse:collapse;font-size:13px}.expense-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.expense-table td{padding:4px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.expense-table tr:last-child td{border-bottom:none}.expense-table tr.drag-over td{background-color:var(--accent-soft);box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}.expense-table tr.drag-over td:first-child{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent),inset 2px 0 0 var(--accent)}.expense-table tr.drag-over td:last-child{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent),inset -2px 0 0 var(--accent)}.expense-table input,.expense-table select{font:inherit;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:7px 8px;width:100%;transition:border-color .12s ease,background .12s ease}.expense-table input:hover,.expense-table select:hover{border-color:var(--line);background:var(--surface)}.expense-table input:focus,.expense-table select:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px var(--accent-soft)}.expense-table input.amount-error,.expense-table input.amount-error:hover,.expense-table input.amount-error:focus{border-color:var(--danger)}.split-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;letter-spacing:.04em;background:var(--accent-soft);color:var(--accent);border:1.5px solid transparent;cursor:pointer;white-space:nowrap}.split-badge-error{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.split-active{color:var(--accent)}.expense-table input.amount{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";min-width:78px}.col-date{width:130px}.col-cat{width:200px}.col-amount{width:140px}.col-bill-to{width:150px}.col-receipt{width:80px}.col-actions{width:80px;text-align:center}.expense-table tr.has-child-row td{border-bottom:none}.expense-child-row td{padding:2px 8px;background:var(--child-row-bg);font-size:10px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.expense-child-row input{width:52px;font-size:10px;padding:2px 4px;text-align:right}.receipt-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px dashed var(--line-strong);background:var(--surface-soft);color:var(--ink-muted);cursor:pointer;padding:5px 8px;border-radius:var(--radius-sm);font-size:11px;width:100%;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .12s ease}.receipt-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.receipt-btn svg{width:12px;height:12px}.receipt-thumb{display:inline-block;width:28px;height:28px;border-radius:var(--radius-sm);object-fit:cover;vertical-align:middle;cursor:pointer;border:1px solid var(--line)}.delete-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-muted);cursor:pointer;width:28px;height:28px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.delete-btn:hover{background:var(--danger-soft);color:var(--danger)}.delete-btn svg{width:16px;height:16px}.empty-state{padding:40px 20px;text-align:center;color:var(--ink-muted);font-size:13px}.empty-state strong{display:block;color:var(--ink-soft);font-weight:600;margin-bottom:4px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:var(--accent);color:#fff;font:inherit;font-weight:500;padding:9px 16px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s ease,border-color .12s ease}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.sidebar-action-btn:disabled,.sidebar-icon-btn:disabled,.header-profile-menu-item:disabled,.icon-btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover{background:var(--surface-soft);border-color:var(--ink-muted)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:transparent}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent)}.btn svg{width:14px;height:14px}.per-diem-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--accent-soft);color:var(--accent);font-size:10px;padding:3px 8px;border-radius:3px;align-self:flex-start;cursor:pointer;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:background .12s ease,color .12s ease}.per-diem-btn:hover{background:var(--accent);color:#fff}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer;padding:7px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-btn svg{width:16px;height:16px}.grid-wrap{overflow-x:auto;margin:-20px;padding:20px}.daily-grid{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";min-width:600px}.daily-grid th,.daily-grid td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.daily-grid th:first-child,.daily-grid td:first-child{text-align:left;font-weight:500;color:var(--ink);position:sticky;left:0;background:var(--surface)}.daily-grid thead th{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--line-strong)}.daily-grid thead th:first-child{background:var(--surface)}.daily-grid tbody tr:hover td{background:var(--surface-soft)}.daily-grid .col-total{font-weight:600;color:var(--ink);border-left:1px solid var(--line-strong)}.daily-grid .row-total td{border-top:2px solid var(--navy-dark);border-bottom:none;font-weight:600;background:var(--surface-soft)!important}.daily-grid td.zero{color:var(--ink-muted)}.date-header{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.date-header .dow{font-size:10px;font-weight:600;letter-spacing:.08em}.date-header .date{font-size:11px;font-weight:400;color:var(--ink-muted);letter-spacing:0;text-transform:none}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-variant-numeric:tabular-nums}.summary-row+.summary-row{border-top:1px solid var(--line)}.summary-row .label{color:var(--ink-soft);font-weight:500}.summary-row .value{font-weight:500;color:var(--ink);min-width:130px;text-align:right}.summary-row.total{font-size:15px;font-weight:600;border-top:2px solid var(--navy)!important;padding-top:14px;margin-top:6px;padding-bottom:14px;border-bottom:1px solid var(--rule-gold)}.summary-row.total .label{color:var(--navy);font-weight:600}.summary-row.total .value{font-weight:700}.summary-input{width:130px;text-align:right;border:1px solid var(--line);border-radius:var(--radius-sm);padding:7px 10px;font:inherit;font-variant-numeric:tabular-nums;background:var(--surface-soft);transition:border-color .12s ease}.summary-input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px var(--accent-soft)}.summary-balance{background:var(--accent-soft);color:var(--accent);padding:4px 10px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.summary-balance.owe-company{background:var(--danger-soft);color:var(--danger)}.action-bar{position:sticky;bottom:16px;display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);margin-top:24px;flex-wrap:wrap;z-index:5}.action-bar .left-side{margin-right:auto;display:flex;align-items:center;gap:14px;font-size:13px;color:var(--ink-muted)}.action-bar .left-side strong{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.banner{padding:10px 16px;background:var(--warn-bg);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-soft)}.banner.error{background:var(--danger-soft);color:var(--danger)}.banner.info{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.submit-sig-banner{background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px;display:flex;align-items:center;gap:12px}.submit-sig-banner-text{flex:1;font-size:13px;color:var(--ink);line-height:1.4}.toast-warning{position:fixed;top:16px;right:16px;z-index:60;max-width:400px;width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--warn-bg);border:1px solid #c5a25c;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px 16px;font-size:12px;color:var(--ink-soft);animation:fadeIn .2s ease}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:580px;max-height:85vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:16px;font-weight:600;color:var(--ink)}.modal-body{padding:22px}.modal-section{margin-bottom:24px}.modal-section:last-child{margin-bottom:0}.modal-section h3{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.modal-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:var(--surface-soft);position:sticky;bottom:0}.kv-row{display:grid;grid-template-columns:1fr 120px 32px;gap:10px;align-items:center;margin-bottom:8px}.kv-row input{padding:7px 10px}.add-row-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px dashed var(--line-strong);background:transparent;color:var(--ink-muted);padding:8px 12px;border-radius:var(--radius-sm);font:inherit;font-size:12px;cursor:pointer;width:100%;margin-top:4px;transition:all .12s ease}.add-row-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ad9;display:flex;align-items:center;justify-content:center;z-index:200;padding:40px;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;box-shadow:var(--shadow-lg)}.main-area{display:flex;align-items:flex-start;gap:20px;padding-bottom:80px}.editor-pane{flex:1;min-width:0}.sidebar{width:220px;min-width:180px;flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:sticky;top:20px;max-height:calc(100vh - 120px);overflow-y:auto;transition:width .2s ease,min-width .2s ease}.sidebar[data-collapsed=true]{width:38px;min-width:38px;overflow:visible}.sidebar-header{display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--line)}.sidebar-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-muted);cursor:pointer;padding:9px 12px;width:100%;text-align:right;font-size:15px;line-height:1;transition:background .12s ease,color .12s ease}.sidebar-toggle:hover{background:var(--accent-soft);color:var(--accent)}.sidebar-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-muted);cursor:pointer;padding:9px 0;width:100%;text-align:center;font-size:15px;line-height:1;transition:background .12s ease,color .12s ease}.sidebar-icon-btn:hover{background:var(--accent-soft);color:var(--accent)}.sidebar-toggle-icon{font-size:16px;border-bottom:1px solid var(--line)}.sidebar-actions{padding:10px 10px 8px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--line)}.sidebar-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;font-size:12px;font-weight:500;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:background .12s ease,border-color .12s ease}.sidebar-action-btn:hover{background:var(--accent-hover)}.sidebar-action-btn.secondary{background:transparent;color:var(--ink-soft);border-color:var(--line-strong)}.sidebar-action-btn.secondary:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.sidebar-filters{padding:8px 10px;display:flex;gap:6px;border-bottom:1px solid var(--line)}.sidebar-select{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:11px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 6px;cursor:pointer;min-width:0}.sidebar-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.sidebar-section{border-bottom:1px solid var(--line)}.sidebar-section:last-child{border-bottom:none}.sidebar-section:has(+.sidebar-section){border-bottom:none}.sidebar-section~.sidebar-section{border-top:2px solid var(--line-strong)}.sidebar-section-head{padding:9px 12px 5px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.sidebar-section-head--toggle{cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:9px;transition:background .12s ease,color .12s ease}.sidebar-section-head--toggle:hover{background:var(--accent-soft);color:var(--accent)}.sidebar-section-head--muted{opacity:.45}.sidebar-empty{padding:6px 12px 10px;font-size:12px;color:var(--ink-muted)}.env-row{padding:9px 12px;cursor:pointer;position:relative;transition:background .12s ease;border-bottom:1px solid var(--line)}.env-row:last-child{border-bottom:none}.env-row:hover{background:var(--surface-soft)}.env-row--active,.env-row--active:hover{background:var(--accent-soft)}.env-row-main{display:flex;flex-direction:column;gap:2px;margin-bottom:5px;padding-right:44px}.env-row-name{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.env-row-period{font-size:11px;color:var(--ink-muted)}.env-row-footer{display:flex;align-items:center;justify-content:space-between;gap:6px}.env-row-total{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:500}.env-status-badge{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:99px}.env-status-badge[data-status=draft]{background:#e5e7eb;color:#6b7280}.env-status-badge[data-status=submitted]{background:#dbeafe;color:#1d4ed8}.env-status-badge[data-status=approved]{background:#dcfce7;color:#16a34a}.env-status-badge[data-status=reimbursed]{background:#bbf7d0;color:#166534}.env-row-actions{position:absolute;top:8px;right:6px;display:flex;gap:3px;opacity:0;pointer-events:none}.env-row:hover .env-row-actions{opacity:1;pointer-events:auto}.env-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--surface-soft);color:var(--ink-muted);cursor:pointer;width:22px;height:22px;border-radius:var(--radius-sm);font-size:12px;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease}.env-action-btn:hover{background:var(--accent-soft);color:var(--accent)}.env-action-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.env-rename-input{font:inherit;font-size:13px;font-weight:500;border:1px solid var(--accent);border-radius:var(--radius-sm);padding:2px 6px;width:100%;background:var(--surface);color:var(--ink);outline:none}.template-pick-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font:inherit;text-align:left;transition:background .12s ease,border-color .12s ease}.template-pick-row:hover{background:var(--accent-soft);border-color:var(--accent)}.template-pick-name{font-size:13px;font-weight:500;color:var(--ink)}.template-pick-meta{font-size:12px;color:var(--ink-muted)}@media print{body{background:#fff}.app-shell{padding:0;max-width:none}.action-bar,.delete-btn,.btn,.icon-btn,.receipt-btn{display:none!important}.section{box-shadow:none;border-color:#999;page-break-inside:avoid}}.signin-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);padding:24px}.signin-card{background:var(--surface);border:1px solid var(--rule-gold);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:48px 40px;text-align:center;max-width:360px;width:100%}.signin-logo{height:40px;margin:0 auto 24px;display:block}.signin-heading{font-family:var(--font-display);font-size:28px;font-weight:500;color:var(--ink);margin:0 0 12px;letter-spacing:-.01em}.signin-body{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0 0 28px}.signin-ms-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:11px 20px;background:#2f2f2f;color:#fff;border:none;border-radius:var(--radius-sm);font:600 14px/1 var(--font-body);cursor:pointer;transition:background .12s ease}.signin-ms-btn:hover:not(:disabled){background:#1a1a1a}.signin-ms-btn:disabled{opacity:.65;cursor:not-allowed}.signin-error{margin-bottom:16px}.user-avatar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;padding:0;display:flex;align-items:center;transition:opacity .12s ease}.user-avatar-btn:hover{opacity:.75}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;background:var(--surface);border:1px solid var(--rule-gold);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:220px;overflow:hidden}.user-menu-info{padding:12px 14px;border-bottom:1px solid var(--line)}.user-menu-name{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}.user-menu-email{font-size:11px;color:var(--ink-muted)}.user-menu-signout{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;display:block;width:100%;padding:9px 14px;text-align:left;font:inherit;font-size:12px;color:var(--ink-soft);cursor:pointer;transition:background .12s ease,color .12s ease}.user-menu-signout:hover{background:var(--accent-soft);color:var(--accent)}.sig-tabs{display:flex;border-bottom:2px solid var(--line);margin-bottom:20px}.sig-tab-btn{flex:1;padding:10px 6px;border:none;background:none;cursor:pointer;font:inherit;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .12s}.sig-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.sig-font-card{padding:10px 14px;border:2px solid var(--line);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;transition:border-color .12s,background .12s;background:var(--surface)}.sig-font-card:hover{border-color:var(--accent)}.sig-font-card.selected{border-color:var(--accent);background:var(--accent-soft)}.sig-font-preview{font-size:34px;line-height:1.3;color:var(--ink);-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sig-font-label{font-size:10px;color:var(--ink-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.08em}.sig-canvas{width:100%;height:180px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;display:block;touch-action:none}.sig-staged-preview{display:flex;align-items:center;justify-content:center;padding:10px;border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);margin-top:20px;min-height:72px}.sig-staged-preview img{max-height:56px;max-width:100%;object-fit:contain}.recipient-picker{position:relative;width:100%}.recipient-picker input{width:100%}.recipient-picker-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);list-style:none;margin:2px 0 0;padding:0;z-index:10;max-height:220px;overflow-y:auto}.recipient-picker-suggestion{padding:7px 12px;cursor:pointer;font-size:13px}.recipient-picker-suggestion.highlighted,.recipient-picker-suggestion:hover{background:var(--accent-soft)}
