.doc{background:#fff;width:816px;max-width:100%;box-shadow:0 2px 24px #0000001a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1a1a18}.doc-header{background:#0d1b2a;padding:36px 48px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.hdr-left{flex:1}.hdr-company{color:#fff;font-size:19px;font-weight:600;letter-spacing:.01em;margin-bottom:4px}.hdr-tagline{color:#ffffff80;font-size:11.5px;margin-bottom:3px}.hdr-address{color:#fff6;font-size:11px;line-height:1.7}.hdr-right{text-align:right;flex-shrink:0}.hdr-doc-type{color:#fff;font-size:34px;font-weight:700;letter-spacing:.1em;line-height:1;margin-bottom:10px}.hdr-meta-row{font-size:12px;color:#ffffff8c;margin-bottom:3px}.hdr-meta-bold{color:#ffffffe6;font-weight:500}.doc-body{padding:40px 48px}.doc-sec-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#1b3a6b;margin-bottom:10px}.doc-divider{border:none;border-top:1px solid #ebebeb;margin:28px 0}.doc-data-table{width:100%;border-collapse:collapse;font-size:13px}.doc-data-table thead tr{background:#0d1b2a}.doc-data-table thead th{color:#ffffffd9;font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;padding:10px 14px;text-align:left}.doc-data-table thead th.r{text-align:right}.doc-data-table tbody td{padding:11px 14px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:top}.doc-data-table tbody td.r{text-align:right}.doc-data-table tbody tr:nth-child(2n) td{background:#f9fafc}.totals-outer{display:flex;justify-content:flex-end;margin-top:16px}.totals-inner{width:280px}.totals-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 12px;font-size:13px;color:#555;border-bottom:1px solid #f0f0f0}.totals-row.credit{color:#888;font-style:italic}.totals-row.total-due{background:#eef3f9;border-radius:4px;border-bottom:none;margin-top:6px;padding:11px 14px}.totals-row.total-due .t-label{font-weight:600;color:#1b3a6b;font-size:13px}.totals-row.total-due .t-value{font-weight:700;color:#0d1b2a;font-size:20px}.doc-payment-box{border:1px solid #dde8f0;border-left:4px solid #1B3A6B;border-radius:0 4px 4px 0;padding:16px 20px;margin-top:28px}.doc-payment-title{font-size:13px;font-weight:600;color:#1b3a6b;margin-bottom:8px}.doc-payment-row{font-size:12.5px;color:#666;margin-bottom:3px;line-height:1.6}.doc-payment-row strong{color:#333;font-weight:500}.doc-terms-row{font-size:12.5px;color:#666;margin-bottom:5px;line-height:1.6}.doc-terms-row strong{color:#333;font-weight:500}.doc-sig-block{margin-top:40px}.doc-sig-line{border-bottom:1px solid #555;width:260px;height:44px;margin-bottom:6px}.doc-sig-name{font-size:13.5px;font-weight:600;color:#0d1b2a;margin-bottom:2px}.doc-sig-sub{font-size:12px;color:#888;line-height:1.6}.doc-sig-two-col{display:flex;gap:40px;margin-top:40px}.doc-sig-col{flex:1}.doc-sig-col-title{font-size:12px;font-weight:600;color:#1b3a6b;margin-bottom:8px}.doc-footer{border-top:1px solid #ebebeb;padding:14px 48px;text-align:center;font-size:11px;color:#bbb;letter-spacing:.03em}.doc-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #ebebeb;border-radius:4px;overflow:hidden;margin-bottom:28px}.doc-meta-cell{padding:12px 16px;border-right:1px solid #ebebeb;border-bottom:1px solid #ebebeb;font-size:12.5px}.doc-meta-cell:nth-child(2n){border-right:none}.doc-meta-cell:nth-last-child(-n+2){border-bottom:none}.doc-meta-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#1b3a6b;margin-bottom:3px}.doc-meta-val{color:#333;font-weight:500}.doc-sec-heading{font-size:15px;font-weight:600;color:#0d1b2a;margin:28px 0 6px;padding-bottom:6px;border-bottom:2px solid #0D1B2A}.doc-sec-sub{font-size:13px;font-weight:600;color:#1b3a6b;margin:18px 0 6px}.doc-body-text{font-size:13px;color:#444;line-height:1.75;margin-bottom:8px}.doc-bullet-list{margin:8px 0 12px 20px}.doc-bullet-list li{font-size:13px;color:#444;line-height:1.75;margin-bottom:3px}.doc-highlight-box{background:#eef3f9;border-left:3px solid #1B3A6B;border-radius:0 4px 4px 0;padding:12px 16px;font-size:13px;color:#333;line-height:1.65;margin:10px 0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f4f0;color:#1a1a18;height:100vh;overflow:hidden}#root{height:100vh;display:flex}.app-shell{display:flex;width:100%;height:100vh;overflow:hidden}.app-nav{width:220px;flex-shrink:0;background:#0d1b2a;display:flex;flex-direction:column;padding:0;overflow-y:auto}.nav-logo{padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.07)}.nav-logo-title{font-size:15px;font-weight:700;color:#fff;letter-spacing:.01em}.nav-logo-sub{font-size:11px;color:#fff6;margin-top:2px}.nav-section{padding:16px 12px 8px}.nav-section-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffff47;padding:0 8px;margin-bottom:4px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:#ffffff9e;font-size:13.5px;font-weight:500;text-decoration:none;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background .12s,color .12s}.nav-link:hover{background:#ffffff0f;color:#fff}.nav-link.active{background:#ffffff1a;color:#fff}.nav-link svg{flex-shrink:0;opacity:.7}.nav-link.active svg{opacity:1}.nav-footer{margin-top:auto;padding:16px 20px;border-top:1px solid rgba(255,255,255,.07);font-size:11.5px;color:#ffffff4d;line-height:1.6}.app-main{flex:1;overflow-y:auto;background:#f4f4f0;min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 0;gap:16px}.page-title{font-size:20px;font-weight:700;color:#0d1b2a;letter-spacing:-.01em}.page-content{padding:20px 32px 40px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:background .12s,opacity .12s;white-space:nowrap}.btn-primary{background:#0d1b2a;color:#fff}.btn-primary:hover{background:#1b3a6b}.btn-secondary{background:#fff;color:#0d1b2a;border:1px solid #ddd}.btn-secondary:hover{background:#f5f5f3}.btn-ghost{background:transparent;color:#666;border:1px solid #e0e0e0}.btn-ghost:hover{background:#f0f0ee}.btn-danger{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.btn-danger:hover{background:#fecaca}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:6px;background:transparent;border:1px solid #e0e0e0;border-radius:5px;cursor:pointer;color:#666;display:inline-flex;align-items:center}.btn-icon:hover{background:#f0f0ee}.card{background:#fff;border-radius:10px;border:1px solid #e8e8e4;overflow:hidden}.card-pad{padding:20px 24px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e8e8e4;border-radius:10px;padding:20px 24px}.stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#999;margin-bottom:8px}.stat-value{font-size:26px;font-weight:700;color:#0d1b2a;letter-spacing:-.02em;line-height:1}.stat-sub{font-size:11.5px;color:#aaa;margin-top:6px}.stat-card.accent{background:#0d1b2a;border-color:#0d1b2a}.stat-card.accent .stat-label{color:#ffffff73}.stat-card.accent .stat-value{color:#fff}.stat-card.accent .stat-sub{color:#ffffff59}.data-table-wrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t thead tr{border-bottom:2px solid #f0f0ec}table.t thead th{text-align:left;padding:10px 16px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#aaa;white-space:nowrap}table.t thead th.right{text-align:right}table.t tbody tr{border-bottom:1px solid #f4f4f0;transition:background .1s;cursor:pointer}table.t tbody tr:hover{background:#fafaf8}table.t tbody tr:last-child{border-bottom:none}table.t tbody td{padding:12px 16px;color:#333;vertical-align:middle}table.t tbody td.right{text-align:right}table.t tbody td.muted{color:#aaa;font-size:12px}table.t tbody td.bold{font-weight:600;color:#0d1b2a}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:500}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-draft{background:#f1f5f9;color:#64748b}.badge-sent{background:#fef3c7;color:#b45309}.badge-paid,.badge-signed{background:#dcfce7;color:#166534}.badge-billable{background:#eff6ff;color:#1d4ed8}.badge-pro-bono{background:#f5f5f5;color:#6b7280}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group.full{grid-column:1 / -1}.form-label{font-size:11.5px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.07em}.form-input,.form-select,.form-textarea{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:13.5px;font-family:inherit;color:#1a1a18;background:#fff;outline:none;transition:border-color .12s,box-shadow .12s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#1b3a6b;box-shadow:0 0 0 3px #1b3a6b14}.form-textarea{resize:vertical;min-height:72px}.editor-wrap{display:flex;flex-direction:column;height:100vh;overflow:hidden}.editor-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#fff;border-bottom:1px solid #e8e8e4;gap:12px;flex-shrink:0}.editor-topbar-title{font-size:14px;font-weight:600;color:#0d1b2a}.editor-topbar-actions{display:flex;gap:8px;align-items:center}.editor-body{display:flex;flex:1;overflow:hidden;min-height:0}.editor-form-panel{width:44%;flex-shrink:0;overflow-y:auto;background:#fafaf8;border-right:1px solid #e8e8e4;padding:24px}.editor-preview-panel{flex:1;overflow-y:auto;background:#f0efe8;padding:28px 24px;display:flex;flex-direction:column;align-items:center}.form-section{margin-bottom:24px}.form-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#1b3a6b;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e8e8e4}.line-items-header{display:grid;grid-template-columns:1fr 80px 90px 90px 32px;gap:6px;margin-bottom:6px}.line-item-row{display:grid;grid-template-columns:1fr 80px 90px 90px 32px;gap:6px;align-items:start;margin-bottom:6px}.quick-actions{display:flex;gap:12px;flex-wrap:wrap}.quick-action-card{background:#fff;border:1px solid #e8e8e4;border-radius:10px;padding:20px;cursor:pointer;transition:box-shadow .12s,border-color .12s;display:flex;flex-direction:column;gap:6px;min-width:160px;text-decoration:none;color:inherit}.quick-action-card:hover{box-shadow:0 4px 12px #00000012;border-color:#c0cce0}.quick-action-icon{width:36px;height:36px;background:#eef3f9;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#1b3a6b;margin-bottom:4px}.quick-action-label{font-size:13px;font-weight:600;color:#0d1b2a}.quick-action-sub{font-size:11.5px;color:#999}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:#fff;border-radius:12px;width:100%;max-width:520px;box-shadow:0 20px 60px #00000026;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f0f0ec}.modal-title{font-size:15px;font-weight:700;color:#0d1b2a}.modal-body{padding:20px 24px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid #f0f0ec}.empty-state{text-align:center;padding:48px 24px;color:#aaa}.empty-state-title{font-size:14px;font-weight:600;color:#666;margin-bottom:6px}.empty-state-sub{font-size:13px}@media print{.app-nav,.editor-topbar,.editor-form-panel,.page-header,.no-print{display:none!important}body{background:#fff!important;overflow:visible!important;height:auto!important}#root{height:auto!important}.app-shell{display:block!important;height:auto!important}.app-main{overflow:visible!important;height:auto!important;background:#fff!important}.editor-wrap{height:auto!important;overflow:visible!important}.editor-body{display:block!important;height:auto!important;overflow:visible!important}.editor-preview-panel{width:100%!important;height:auto!important;overflow:visible!important;background:#fff!important;padding:0!important}}@page{size:letter;margin:0}
