:root{--color-primary:#b89b72;--color-primary-hover:#d4bc96;--color-background:#f7f4ef;--color-surface:#fdfcfa;--color-text-main:#2c2c2c;--color-text-high:#1a1a1a;--color-border:#c8beb2;--color-muted:#9e9085;--color-success:#4a7c59;--color-success-soft:#eff5f1;--color-blue:#4a6fa5;--color-blue-soft:#eef2f8;--color-amber:#c8883a;--color-amber-soft:#faf3e8;--color-purple:#7b6fa5;--color-purple-soft:#f2f0f8;--color-destructive:#b0392b;--font-heading:"Cormorant Garamond", serif;--font-display:"Cormorant Garamond", serif;--font-body:"Jost", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text-main);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-high);margin-bottom:1rem}main{max-width:800px;margin:0 auto;padding:2rem}.contract-form{padding:0 0 4rem}.form-header{margin-bottom:1rem}.form-header-top{justify-content:space-between;align-items:baseline;display:flex}.form-header h1{margin:0;font-size:2.25rem}.form-scan-row{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.draft-badge{color:#8a9e8c;font-size:.75rem;font-style:italic;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.625rem;margin-bottom:1.25rem;padding:1.75rem}.form-section h2{border-bottom:1px solid var(--color-border);color:var(--color-text-high);letter-spacing:.04em;margin-bottom:1.25rem;padding-bottom:.625rem;font-size:1.1rem}.load-property-section h2{margin-bottom:1rem}.empty-properties-hint{color:var(--color-muted,#9e9085);font-size:.875rem;line-height:1.6}.empty-properties-hint strong{color:var(--color-text-main);font-weight:500}.field{flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex}.field-row{gap:1rem;margin-bottom:1rem;display:flex}.field-row:last-child{margin-bottom:0}.form-section>.field{margin-bottom:1rem}.form-section>.field:last-child{margin-bottom:0}label{letter-spacing:.04em;color:var(--color-text-high);font-size:.8rem;font-weight:500}.required{color:var(--color-primary)}.hint{color:var(--color-muted,#9e9085);font-style:italic;font-weight:400}input[type=text],input[type=email],input[type=date],select{background:var(--color-background);border:1px solid var(--color-border);font-family:var(--font-body);color:var(--color-text-main);border-radius:.375rem;outline:none;width:100%;padding:.625rem .875rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #b89b721f}.name-autocomplete{position:relative}.name-autocomplete-list{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;max-height:14rem;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #00000014}.name-autocomplete-option{cursor:pointer;border-bottom:1px solid #0000000a;flex-direction:column;gap:.125rem;padding:.5rem .875rem;display:flex}.name-autocomplete-option:last-child{border-bottom:none}.name-autocomplete-option.active,.name-autocomplete-option:hover{background:#b89b721a}.name-autocomplete-option .ac-name{color:var(--color-text-main);font-size:.9rem;font-weight:500}.name-autocomplete-option .ac-email{color:var(--color-muted,#9e9085);font-size:.78rem}.btn-active{border-color:var(--color-primary);color:var(--color-primary);background:#b89b7212}.mini-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted,#9e9085);margin-bottom:.6rem;font-size:.72rem;font-weight:500}.transfer-panels{border:1px solid var(--color-border);border-radius:.5rem;grid-template-columns:1fr 1fr;margin-bottom:1rem;display:grid;overflow:hidden}.panel-selected{border-right:1px solid var(--color-border)}.panel-header{border-bottom:1px solid var(--color-border);background:#f7f4ef;justify-content:space-between;align-items:center;height:48px;padding:0 1rem;display:flex}.panel-header-left{align-items:center;gap:.5rem;display:flex}.panel-name{text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted,#9e9085);font-size:.72rem;font-weight:600}.count-badge{background:var(--color-primary);color:#fff;text-align:center;border-radius:999px;min-width:24px;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.count-zero{color:var(--color-muted,#9e9085);border:1px solid var(--color-border);background:#f7f4ef}.clear-btn{color:var(--color-muted,#9e9085);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;font-size:.7rem;text-decoration:underline}.lib-edit-btn{color:var(--color-muted,#9e9085);border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;background:#f7f4ef;border-radius:.375rem;padding:.25rem .6rem;font-family:inherit;font-size:.72rem;transition:border-color .15s,color .15s,background .15s}.lib-edit-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:#b89b7214}.empty-msg-mobile{display:none}.empty-msg-desktop{display:block}.area-list{min-height:260px;max-height:460px;list-style:none;overflow-y:auto}.area-item{border-bottom:1px solid #ede8e0;align-items:stretch;font-size:.85rem;display:flex}.area-item:last-child{border-bottom:none}.area-item.dragging,.library-item.dragging{background:#f7f4ef;box-shadow:0 4px 12px #00000014}.drag-grip{color:var(--color-border);cursor:grab;touch-action:none;justify-content:center;align-self:stretch;align-items:center;padding:0 .4rem;display:flex}.drag-grip:active{cursor:grabbing}.library-item.normal .drag-grip:hover{color:var(--color-primary)}.area-item-label{color:var(--color-text-main);flex:1;align-self:center;padding:.6rem 0 .6rem 1rem}.item-controls{border-left:1px solid #ede8e0;align-items:stretch;display:flex}.ctrl-btn{cursor:pointer;color:var(--color-border);background:0 0;border:none;border-left:1px solid #ede8e0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 .55rem;font-size:.9rem;transition:color .12s,background .12s;display:flex}.ctrl-btn:first-child{border-left:none}.ctrl-btn:hover:not(:disabled){color:var(--color-primary);background:#f7f4ef}.ctrl-btn:disabled{opacity:.2;cursor:default}.ctrl-btn.remove:hover{color:var(--color-destructive,#b0392b);background:#fdf5ec}.library-item{border-bottom:1px solid #ede8e0;align-items:stretch;font-size:.85rem;transition:background .12s;display:flex}.library-item:last-child{border-bottom:none}.library-item-label{color:var(--color-text-main);flex:1;align-self:center;padding:.6rem 1rem}.library-item.normal{cursor:pointer}.library-item.normal:hover{background:#f7f4ef}.library-item.normal:hover .add-icon{color:var(--color-primary)}.library-item.editing .library-item-label{cursor:default;color:var(--color-muted,#9e9085)}.add-icon{color:var(--color-border);align-self:center;padding:0 .75rem;font-size:.85rem}.empty-state{min-height:260px;color:var(--color-border);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;font-size:.82rem;line-height:1.6;display:flex}.empty-icon{opacity:.4;font-size:1.5rem}.library-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.lib-add-row{gap:.5rem;display:flex}.lib-input{border:1px solid var(--color-border);color:var(--color-text-main);background:#fff;border-radius:.375rem;flex:1;padding:.45rem .75rem;font-family:inherit;font-size:.8rem}.lib-btn{border:1px solid var(--color-border);color:var(--color-text-main);cursor:pointer;white-space:nowrap;background:#fff;border-radius:.375rem;padding:.45rem .75rem;font-family:inherit;font-size:.78rem}.lib-footer-row{justify-content:space-between;align-items:center;display:flex}.lib-reset{color:var(--color-muted,#9e9085);cursor:pointer;text-align:left;text-underline-offset:2px;background:0 0;border:none;font-size:.72rem;text-decoration:underline}.lib-done-btn{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:#b89b7214;border-radius:.375rem;padding:.3rem .75rem;font-family:inherit;font-size:.72rem}.add-area-row.dimmed,.hint-text.dimmed{opacity:.4;pointer-events:none}.hint-text{color:var(--color-muted,#9e9085);margin-top:.4rem;font-size:.75rem;font-style:italic}.add-area-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.add-area-input{flex:1;min-width:160px}.btn-muted{color:var(--color-muted,#9e9085);font-size:.75rem}.scan-btn-wrap{flex-direction:column;align-items:flex-start;display:flex;position:relative}.scan-confirm-btns{gap:.5rem;display:flex}.scan-pending-name{color:var(--color-muted,#9e9085);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:.7rem;overflow:hidden}.scan-error{color:var(--color-destructive,#b0392b);white-space:nowrap;pointer-events:none;font-size:.72rem;position:absolute;top:calc(100% + 4px);left:0}.paste-modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.paste-modal{background:var(--color-surface,#fff);border-radius:8px;flex-direction:column;gap:.75rem;width:100%;max-width:520px;padding:1.5rem;display:flex;box-shadow:0 8px 32px #0000002e}.paste-modal-title{color:var(--color-text,#2c2c2c);margin:0;font-size:1rem;font-weight:600}.paste-modal-hint{color:var(--color-muted,#9e9085);margin:0;font-size:.78rem}.paste-modal-textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--color-border,#d9d4cd);background:var(--color-bg,#f7f4ef);width:100%;color:var(--color-text,#2c2c2c);border-radius:4px;padding:.6rem .75rem;font-family:inherit;font-size:.85rem;line-height:1.5}.paste-modal-textarea:focus{border-color:var(--color-accent,#b89b72);outline:none}.paste-modal-footer{justify-content:flex-end;gap:.5rem;display:flex}.form-footer{text-align:center;margin-top:2rem}.submit-hint{color:var(--color-muted,#9e9085);margin-top:.75rem;font-size:.78rem}.sync-status{color:var(--color-muted,#9e9085);align-items:center;gap:.4rem;font-size:.72rem;font-style:italic;display:flex}.sync-dot{background:#8a9e8c;border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@media (width<=600px){.field-row{flex-direction:column}.form-header h1{font-size:1.65rem}.form-section{padding:1.25rem}.add-area-row{flex-direction:column;align-items:stretch}.transfer-panels{grid-template-columns:1fr}.panel-selected{border-right:none;border-bottom:1px solid var(--color-border)}.empty-msg-desktop{display:none}.empty-msg-mobile{display:block}}@media (prefers-reduced-motion:reduce){.sync-dot{animation:none}}.label-with-check{justify-content:space-between;align-items:center;display:flex}.email-send-check{color:#888;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;margin-left:8px;font-size:.72rem;font-weight:400;display:inline-flex}.email-send-check input[type=checkbox]{accent-color:#b89b72;cursor:pointer;width:13px;height:13px;margin:0}.email-send-check input[type=checkbox]:checked+span{color:#b89b72;font-weight:500}.success-screen{text-align:center;max-width:560px;margin:0 auto;padding:4rem 1rem}.success-icon{color:#fff;background:#8a9e8c;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.5rem;font-size:2rem;animation:.35s cubic-bezier(.34,1.56,.64,1) scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.success-screen h1{margin-bottom:.25rem;font-size:2.25rem}.success-address{color:var(--color-muted,#9e9085);margin-bottom:2.5rem;font-size:.9rem}.success-links{text-align:left;flex-direction:column;gap:.75rem;margin-bottom:2.5rem;display:flex}.success-link{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-main);border-radius:.5rem;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.success-link:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 12px #b89b7226}.link-icon{flex-shrink:0;font-size:1.5rem}.success-link strong{margin-bottom:.15rem;font-weight:500;display:block}.success-link small{color:var(--color-muted,#9e9085);font-size:.775rem}.esign-section{border:1px solid var(--color-border);background:var(--color-surface);text-align:left;border-radius:.5rem;margin:1.5rem 0;padding:1.25rem}.esign-section h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.esign-inputs{gap:.5rem;margin-bottom:.75rem;display:flex}.esign-inputs input{flex:1;padding:6px 10px;font-size:.875rem}.esign-error{color:#c0392b;margin:0 0 .5rem;font-size:.85rem}.esign-sent{color:#2e7d32;margin:0;font-size:.9rem;font-weight:500}.success-screen .pdf-delivery-note{border-left:3px solid var(--color-primary);background:var(--color-surface);color:var(--color-muted,#9e9085);text-align:left;border-radius:.25rem;margin:-1rem 0 2rem;padding:.85rem 1rem;font-size:.825rem;line-height:1.5}.markup-overlay{z-index:1200;color:#fff;background:#111;flex-direction:column;display:flex;position:fixed;inset:0}.markup-topbar{flex:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.markup-topbar-right{align-items:center;gap:.75rem;display:flex}.markup-title{color:#ffffffb3;font-size:.85rem;font-weight:600}.markup-btn-text{color:#fff;cursor:pointer;background:0 0;border:none;padding:.4rem .2rem;font-size:.9rem}.markup-btn-primary{background:var(--color-primary,#b89b72);color:#fff;cursor:pointer;border:none;border-radius:.3rem;padding:.45rem 1rem;font-size:.9rem;font-weight:600}.markup-btn-primary:disabled{opacity:.4;cursor:default}.markup-canvas-area{flex:auto;justify-content:center;align-items:center;min-height:0;padding:.5rem 1rem;display:flex;position:relative}.markup-trash-zone{color:#fff;z-index:6;pointer-events:none;background:#0000008c;border:2px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:background .12s,border-color .12s,transform .12s;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.markup-trash-zone.active{background:#ff3b30;border-color:#ff3b30;transform:translate(-50%)scale(1.15)}.markup-status{color:#ffffffd9;text-align:center;font-size:.9rem}.markup-error p{margin:0 0 1rem}.markup-canvas-stack{position:relative}.markup-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.markup-canvas-base{z-index:1}.markup-canvas-overlay{z-index:2}.markup-canvas-draft{z-index:2;pointer-events:none}.markup-text-input{z-index:3;background:0 0;border:1px dashed #fff9;min-width:40px;max-width:80%;padding:.1rem .3rem;font-family:sans-serif;position:absolute;transform:translateY(-50%)}.markup-crop-wrap{z-index:3;touch-action:none;position:absolute;inset:0}.markup-crop-shade-clip{pointer-events:none;position:absolute;inset:0;overflow:hidden}.markup-crop-shade{position:absolute;box-shadow:0 0 0 9999px #0000008c}.markup-crop-rect{border:2px solid #fff;position:absolute}.markup-crop-handle{touch-action:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute}.markup-crop-handle:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px}.markup-crop-handle-tl{cursor:nwse-resize;top:-22px;left:-22px}.markup-crop-handle-tr{cursor:nesw-resize;top:-22px;right:-22px}.markup-crop-handle-bl{cursor:nesw-resize;bottom:-22px;left:-22px}.markup-crop-handle-br{cursor:nwse-resize;bottom:-22px;right:-22px}.markup-crop-passive{z-index:3;pointer-events:none;border:2px dashed #ffffffb3;position:absolute}.markup-toolbar{padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom,0px));flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.markup-right-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.markup-rotate-btn{border-left:1px solid #ffffff26;margin-left:.5rem}.markup-tools{align-items:center;gap:.3rem;display:flex}.markup-tool-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #0000;border-radius:.35rem;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.markup-tool-btn.active{background:#fff3;border-color:#fff}.markup-colors{align-items:center;gap:.35rem;display:flex}.markup-swatch{cursor:pointer;border:2px solid #fff6;border-radius:50%;width:24px;height:24px;padding:0}.markup-swatch.active{border-color:#fff}.markup-custom-color-wrap{position:relative}.markup-swatch-custom{border-style:dashed}.markup-color-popover{z-index:10;background:#1c1c1c;border:1px solid #ffffff1f;border-radius:.5rem;width:240px;padding:.75rem;position:absolute;bottom:calc(100% + 10px);right:-6px;box-shadow:0 8px 24px #00000080}.markup-color-popover .react-colorful{width:100%;height:160px}.markup-color-popover .react-colorful__saturation{border-radius:.35rem}.markup-color-popover .react-colorful__hue{border-radius:8px;height:16px;margin-top:.6rem}.markup-color-popover .react-colorful__hue-pointer,.markup-color-popover .react-colorful__saturation-pointer{width:18px;height:18px}.markup-color-hex{color:#fff9;align-items:center;gap:.3rem;margin-top:.6rem;font-size:.85rem;display:flex}.markup-color-hex input{color:#fff;text-transform:uppercase;background:#ffffff14;border:1px solid #ffffff26;border-radius:.3rem;flex:1;padding:.3rem .4rem;font-size:.85rem}.markup-color-popover-close{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:.4rem;right:.4rem}.markup-actions{align-items:center;gap:.3rem;display:flex}.markup-actions button{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:.35rem;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.markup-actions button:disabled{opacity:.35;cursor:default}.markup-actions .markup-clear-btn{width:auto;padding:0 .6rem}.markup-actions .markup-clear-btn span{font-size:.8rem;line-height:1}@media (width<=500px){.markup-toolbar{justify-content:center}}.camera-capture{z-index:1150;color:#fff;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.camera-capture-icon-btn{color:#fff;cursor:pointer;touch-action:manipulation;background:#0006;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.camera-capture-topbar{z-index:1;padding:calc(.75rem + env(safe-area-inset-top)) .75rem .75rem;background:linear-gradient(#0000008c,#0000);align-items:center;gap:.75rem;display:flex;position:relative}.camera-capture-address{text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.camera-capture-toggle{background:#ffffff26;border-radius:999px;flex:none;padding:.15rem;display:flex}.camera-capture-toggle button{color:#ffffffbf;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:999px;padding:.3rem .7rem;font-size:.75rem}.camera-capture-toggle button.active{color:#000;background:#fff;font-weight:600}.camera-capture-preview{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.camera-capture-video{object-fit:contain;width:100%;height:100%}.camera-capture-status{color:#ffffffbf;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.camera-capture-error{text-align:center;background:#000c;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:absolute;inset:0}.camera-capture-error p{max-width:320px;margin:0;font-size:.9rem}.camera-capture-error-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.camera-capture-error-actions button{color:#fff;cursor:pointer;touch-action:manipulation;background:#ffffff26;border:1px solid #fff6;border-radius:.375rem;padding:.5rem 1rem;font-size:.85rem}.camera-capture-bottombar{z-index:1;padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));background:linear-gradient(#0000,#0000008c);justify-content:space-between;align-items:center;display:flex;position:relative}.camera-capture-bottombar-spacer{flex:none;width:44px;height:44px}.camera-capture-lens{color:#fff;cursor:pointer;touch-action:manipulation;background:#0006;border:none;border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.05rem;width:44px;height:44px;display:flex}.camera-capture-lens:disabled{opacity:.4;cursor:default}.camera-capture-lens-index{font-size:.6rem;line-height:1}.camera-capture-shutter{cursor:pointer;touch-action:manipulation;background:#fff;border:4px solid #ffffff80;border-radius:50%;flex:none;width:68px;height:68px}.camera-capture-shutter:active:not(:disabled){background:#ffffffd9}.camera-capture-shutter:disabled{opacity:.4;cursor:default}.camera-capture-drawer-toggle{cursor:pointer;touch-action:manipulation;background:#ffffff1a;border:2px solid #fff9;border-radius:.5rem;flex:none;width:44px;height:44px;padding:0;position:relative;overflow:hidden}.camera-capture-drawer-toggle:disabled{opacity:.4;cursor:default}.camera-capture-drawer-thumb{object-fit:cover;width:100%;height:100%;display:block}.camera-capture-drawer-empty{width:100%;height:100%;display:block}.camera-capture-drawer-count{color:#fff;background:#000000b3;border-radius:.2rem;padding:.05rem .3rem;font-size:.65rem;font-weight:600;line-height:1.3;position:absolute;bottom:2px;right:2px}.camera-capture-drawer{z-index:2;background:#111;flex-direction:column;animation:.2s ease-out camera-capture-drawer-up;display:flex;position:absolute;inset:0}@keyframes camera-capture-drawer-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.camera-capture-drawer-header{padding:calc(.75rem + env(safe-area-inset-top)) .75rem .75rem;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.camera-capture-done{color:#000;cursor:pointer;touch-action:manipulation;background:#fff;border:none;border-radius:999px;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.camera-capture-drawer-list{flex-direction:column;flex:1;gap:.6rem;padding:.75rem;display:flex;overflow-y:auto}.camera-capture-drawer-row{align-items:center;gap:.75rem;display:flex}.camera-capture-drawer-row-thumb{cursor:pointer;touch-action:manipulation;background:#222;border:none;border-radius:.375rem;flex:none;width:64px;height:64px;padding:0;position:relative;overflow:hidden}.camera-capture-drawer-row-thumb:disabled{cursor:default}.camera-capture-drawer-row-thumb img{object-fit:cover;width:100%;height:100%;display:block}.camera-capture-row-status{text-align:center;background:#0009;justify-content:center;align-items:center;padding:.25rem;font-size:.6rem;display:flex;position:absolute;inset:0}.camera-capture-row-status.error{color:#ff8a80}.camera-capture-row-edit{color:#000;background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;bottom:.2rem;right:.2rem;box-shadow:0 1px 3px #00000073}.camera-capture-flash{pointer-events:none;background:#fff;animation:.25s ease-out forwards camera-capture-flash;position:absolute;inset:0}@keyframes camera-capture-flash{0%{opacity:.85}to{opacity:0}}.camera-capture-drawer-row-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.camera-capture-row-category{color:#ffffff8c;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.camera-capture-note-input{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:.3rem;width:100%;padding:.4rem .5rem;font-size:.82rem}.camera-capture-note-input::placeholder{color:#fff6}.camera-capture-note-input:focus{border-color:#ffffff80;outline:none}.camera-capture-drawer-row-delete{color:#ffffffbf;cursor:pointer;touch-action:manipulation;background:#ffffff1a;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.camera-capture-drawer-row-delete:hover:not(:disabled){color:#ff8a80;background:#ff525240}.camera-capture-drawer-row-delete:disabled{opacity:.3;cursor:default}.media-gallery-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.media-gallery-header-actions{align-items:center;gap:.5rem;display:flex}.media-gallery-disabled-note,.media-gallery-empty-note{color:var(--color-muted);margin:.5rem 0 0;font-size:.85rem}.media-selection-toolbar{z-index:2;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin:.6rem -2rem 0;padding:.6rem 2rem;font-size:.8rem;display:flex;position:sticky;top:0}.media-selection-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.media-selection-move{border:1px solid var(--color-border);color:var(--color-text-main);cursor:pointer;white-space:nowrap;background:0 0;border-radius:.25rem;padding:.25rem .6rem;font-size:.78rem}.media-selection-move:hover:not(:disabled){border-color:var(--color-primary)}.media-selection-move:disabled{opacity:.4;cursor:default}.media-selection-count{color:var(--color-muted)}.media-selection-delete{border:1px solid var(--color-border);color:var(--color-destructive);cursor:pointer;background:0 0;border-radius:.25rem;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.78rem;display:flex}.media-selection-delete:hover:not(:disabled){border-color:var(--color-destructive)}.media-selection-delete:disabled{opacity:.4;cursor:default}.media-selection-confirm{color:var(--color-text-main);align-items:center;gap:.5rem;display:flex}.media-selection-confirm button{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-main);background:0 0;border-radius:.25rem;padding:.15rem .6rem;font-size:.72rem}.media-selection-confirm button:hover{border-color:var(--color-primary)}.media-upload-list{flex-direction:column;gap:.4rem;margin-top:.75rem;display:flex}.media-upload-row{align-items:center;gap:.6rem;font-size:.78rem;display:flex}.media-upload-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--color-text-main);flex:none;overflow:hidden}.media-upload-progress{background:var(--color-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.media-upload-progress-bar{background:var(--color-primary);height:100%;transition:width .15s}.media-upload-error{color:var(--color-destructive);align-items:center;gap:.5rem;display:flex}.media-upload-retry{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-main);background:0 0;border-radius:.25rem;padding:.15rem .5rem;font-size:.72rem}.media-upload-retry:hover{border-color:var(--color-primary)}.media-grid-sections{flex-direction:column;gap:1rem;margin-top:.75rem;display:flex}.media-date-header{color:var(--color-muted);margin-bottom:.4rem;font-size:.78rem;font-weight:600}.media-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.6rem;margin-top:.75rem;display:grid}.media-date-section .media-grid{margin-top:0}.media-tile{aspect-ratio:1;background:var(--color-background);border:1px solid var(--color-border);border-radius:.375rem;position:relative;overflow:hidden}.media-tile.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.media-tile.pressing{transform:scale(.96)}.media-tile-checkbox{color:#fff;pointer-events:none;background:#00000059;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:.3rem;left:.3rem}.media-tile-checkbox.checked{background:var(--color-primary);border-color:var(--color-primary)}.media-tile-open{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;width:100%;height:100%;padding:0;display:block;position:relative}.media-tile-img{object-fit:cover;width:100%;height:100%;display:block}.media-tile-fallback{text-align:center;width:100%;height:100%;color:var(--color-muted);word-break:break-word;justify-content:center;align-items:center;padding:.4rem;font-size:.68rem;display:flex}.media-tile-play{pointer-events:none;background:#0000002e;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-tile-note-dot{background:var(--color-primary);pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;bottom:.3rem;left:.3rem;box-shadow:0 0 0 1.5px #0006}.media-tile-delete{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;padding:0;display:flex;position:absolute;top:.25rem;right:.25rem}.media-tile-delete:hover{background:var(--color-destructive)}.media-tile-add{border:1px dashed var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.media-tile-add:hover{border-color:var(--color-primary);color:var(--color-primary)}.media-tile-confirm{color:#fff;background:#000000b8;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;font-size:.75rem;display:flex;position:absolute;inset:0}.media-tile-confirm button{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #fff6;border-radius:.25rem;padding:.15rem .6rem;font-size:.72rem}.media-lightbox-backdrop{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.media-lightbox{flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:900px;max-height:90vh;display:flex;position:relative}.media-lightbox-image{object-fit:contain;border-radius:.375rem;max-width:100%;max-height:75vh}.media-lightbox-video{aspect-ratio:16/9;background:#000;border:none;border-radius:.375rem;width:100%;max-height:75vh}.media-lightbox-caption{color:#fff;flex-direction:column;align-items:stretch;gap:.5rem;width:100%;font-size:.8rem;display:flex}.media-lightbox-caption-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.media-lightbox-caption-actions{flex:none;gap:.5rem;display:flex}.media-lightbox-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.media-lightbox-filename{text-overflow:ellipsis;white-space:nowrap;max-width:60vw;overflow:hidden}.media-lightbox-timestamp{color:#ffffffa6;font-size:.72rem}.media-lightbox-note{box-sizing:border-box;color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:.3rem;width:100%;padding:.4rem .6rem;font-size:.8rem}.media-lightbox-note::placeholder{color:#ffffff73}.media-lightbox-note:focus{border-color:#fff9;outline:none}.media-lightbox-edit,.media-lightbox-delete{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:.25rem;flex:none;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.75rem;display:flex}.media-lightbox-edit:hover{border-color:var(--color-primary);color:var(--color-primary)}.media-lightbox-edit:disabled{opacity:.5;cursor:default}.media-lightbox-delete:hover{border-color:var(--color-destructive);color:var(--color-destructive)}.media-lightbox-close{top:calc(.75rem + env(safe-area-inset-top));z-index:2;color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:.25rem;display:flex;position:fixed;right:.75rem}.media-lightbox-nav{color:#fff;cursor:pointer;z-index:1;background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.media-lightbox-nav:hover{background:#000000a6}.media-lightbox-nav-prev{left:-1rem}.media-lightbox-nav-next{right:-1rem}@media (width<=600px){.media-lightbox-nav-prev{left:.25rem}.media-lightbox-nav-next{right:.25rem}}.media-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;flex-wrap:wrap;width:fit-content;max-width:100%;margin-top:.75rem;padding:.2rem;display:flex}.media-tabs .period-btn{white-space:nowrap;padding:.32rem .75rem;font-size:.78rem}.media-sheet-backdrop{z-index:1100;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.media-sheet{background:var(--color-surface);width:100%;max-width:480px;padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));border-top-left-radius:.75rem;border-top-right-radius:.75rem;flex-direction:column;gap:.25rem;display:flex;box-shadow:0 -4px 24px #0000002e}.media-sheet-item{width:100%;color:var(--color-text-main);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.9rem 1rem;font-size:.95rem;display:flex}.media-sheet-item:hover{background:var(--color-background);color:var(--color-primary)}.media-toast{background:var(--charcoal,#2c2c2c);color:#fff;z-index:1300;border-radius:4px;max-width:320px;padding:.7rem 1.1rem;font-size:.85rem;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 12px #00000026}.dashboard-container{padding:1rem 0;animation:.4s fadeIn}.period-selector{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;width:fit-content;margin-bottom:2rem;padding:.25rem;display:flex}.period-btn{font-family:var(--font-body);color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500;transition:all .2s}.period-btn:hover{color:var(--color-text-main)}.period-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #b89b7240}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.kpi-card{background:var(--color-surface);border:none;border-radius:1rem;flex-direction:column;gap:.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000d}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014,0 8px 28px #00000012}.kpi-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);align-items:center;gap:.45rem;font-size:.75rem;font-weight:600;display:flex}.kpi-label:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.kpi-value{font-family:var(--font-heading);color:var(--color-text-high);font-size:2rem}.kpi-card.revenue{background:var(--color-success-soft)}.kpi-card.revenue .kpi-label:before{background:var(--color-success)}.kpi-card.pipeline{background:var(--color-blue-soft)}.kpi-card.pipeline .kpi-label:before{background:var(--color-blue)}.kpi-card.proposals{background:var(--color-amber-soft)}.kpi-card.proposals .kpi-label:before{background:var(--color-amber)}.kpi-card.avg-deal{background:var(--color-purple-soft)}.kpi-card.avg-deal .kpi-label:before{background:var(--color-purple)}.kpi-card.outstanding{background:#fee2e2}.kpi-card.outstanding .kpi-label:before{background:#c0392b}.kpi-sub{color:var(--color-muted);margin-top:-.25rem;font-size:.75rem}.chart-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;margin-bottom:2rem;padding:1.75rem}.chart-section h2{margin-bottom:1.5rem;font-size:1.1rem}.chart-container{width:100%;height:300px}.contract-list-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:1.75rem;overflow-x:auto}.contract-list-section h2{margin-bottom:1.5rem;font-size:1.1rem}.contract-table{border-collapse:collapse;width:100%;font-size:.9rem}.contract-table th{text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;padding:.75rem;font-size:.75rem;font-weight:600}.contract-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-main);padding:1rem .75rem}.contract-table tr:last-child td{border-bottom:none}.contract-table tbody tr.clickable-row{cursor:pointer;transition:background .15s}.contract-table tbody tr.clickable-row:hover{background:var(--color-background)}.status-badge{letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.7rem;font-weight:600;transition:opacity .2s;display:inline-flex;position:relative}.status-badge:hover{opacity:.8}.status-sent{background:var(--color-amber-soft);color:var(--color-amber);border:1px solid var(--color-amber)}.status-signed{background:var(--color-blue-soft);color:var(--color-blue);border:1px solid var(--color-blue)}.status-paid{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success)}.status-cancelled{color:#666;background:#f5f5f5;border:1px solid #ddd}.status-menu{z-index:10;border:1px solid var(--color-border);background:#fff;border-radius:.5rem;flex-direction:column;gap:.25rem;min-width:120px;margin-bottom:.5rem;padding:.5rem;display:flex;position:absolute;bottom:100%;right:0;box-shadow:0 4px 12px #0000001a}.status-option{cursor:pointer;text-transform:capitalize;border-radius:.25rem;padding:.5rem .75rem;font-size:.75rem;transition:background .15s}.status-option:hover{background:var(--color-background)}@media (width<=600px){.header-nav{order:3;justify-content:center;width:100%;padding-top:.5rem}.dashboard-container>div:first-child h1{margin-bottom:1rem!important;font-size:1.85rem!important}.kpi-grid{grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:1.25rem}.kpi-card{border-radius:.75rem;gap:.3rem;padding:.85rem .9rem}.kpi-card:hover{box-shadow:none;transform:none}.kpi-label{letter-spacing:.04em;font-size:.62rem}.kpi-value{font-size:1.35rem;line-height:1.15}.kpi-sub{margin-top:0;font-size:.65rem}.chart-section,.contract-list-section{border-radius:.625rem;margin-bottom:1.25rem;padding:1rem}.chart-section h2,.contract-list-section h2{margin-bottom:.85rem;font-size:.95rem}.chart-container{height:220px}.period-selector{margin-bottom:1.25rem}.period-btn{padding:.4rem .95rem;font-size:.78rem}.contract-list-section{overflow-x:visible}.contract-table thead{display:none}.contract-table,.contract-table tbody{width:100%;display:block}.contract-table tbody tr.clickable-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.55rem;grid-template-columns:1fr auto;grid-template-areas:"address status""date fee";align-items:center;gap:.3rem .55rem;margin-bottom:.55rem;padding:.7rem .85rem;display:grid}.contract-table tbody tr.clickable-row:last-child{margin-bottom:0}.contract-table td{border-bottom:none;min-width:0;padding:0;font-size:.85rem;display:block}.contract-table td.mobile-hide{display:none}.contract-table td[data-label=Property\ Address]{color:var(--color-text-high);text-overflow:ellipsis;white-space:nowrap;grid-area:address;font-weight:600;overflow:hidden}.contract-table td[data-label=Status]{grid-area:status;justify-self:end}.contract-table td[data-label=Staging\ Date]{color:var(--color-muted);grid-area:date;font-size:.74rem}.contract-table td[data-label=Staging\ Fee]{color:var(--color-muted);font-variant-numeric:tabular-nums;grid-area:fee;justify-self:end;font-size:.78rem}.contract-table .status-badge{padding:.18rem .55rem;font-size:.62rem}}.properties-view{padding:1rem 0;animation:.4s fadeIn}.type-filter{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;width:fit-content;margin-bottom:2rem;padding:.25rem;display:flex}.properties-table-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:1.75rem;overflow-x:auto}.properties-table-section h2{margin-bottom:1.5rem;font-size:1.1rem}.properties-table{border-collapse:collapse;width:100%;font-size:.9rem}.properties-table th{text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;padding:.75rem;font-size:.75rem;font-weight:600}.properties-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-main);padding:1rem .75rem}.properties-table tr:last-child td{border-bottom:none}.properties-table tbody tr.clickable-row{cursor:pointer;transition:background .15s}.properties-table tbody tr.clickable-row:hover{background:var(--color-background)}.type-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .6rem;font-size:.68rem;font-weight:600;display:inline-flex}.type-badge .type-short{display:none}.type-badge.proposal{background:var(--color-amber-soft);color:var(--color-amber);border:1px solid var(--color-amber)}.type-badge.contract{color:#4a684e;background:#6b8e6f1f;border:1px solid #4a684e}.panel-overlay{z-index:100;background:#00000059;animation:.2s fadeIn;position:fixed;inset:0}.edit-panel{background:var(--color-surface);border-left:1px solid var(--color-border);z-index:101;flex-direction:column;width:clamp(320px,480px,95vw);height:100dvh;animation:.25s slideInRight;display:flex;position:fixed;top:0;right:0;overflow:hidden;box-shadow:-4px 0 24px #00000014}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.edit-panel-inner{flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex;overflow-y:auto}.panel-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.panel-header h2{font-family:var(--font-heading);margin-bottom:0;font-size:1.75rem}.panel-close{color:var(--color-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.25rem;font-size:1.5rem;line-height:1;transition:color .15s;display:flex}.panel-close:hover{color:var(--color-text-high)}.panel-section{flex-direction:column;gap:1rem;display:flex}.panel-field-row{gap:1rem;display:flex}.panel-field-row .field{flex:1}.panel-footer{border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;align-items:center;gap:.75rem;padding:1.5rem 2rem;display:flex}.panel-footer-spacer{flex:1}.btn-destructive{border:1px solid var(--color-destructive);color:var(--color-destructive);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:.375rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.btn-destructive:hover{background:var(--color-destructive);color:#fff}.btn-warning{color:#d97706;font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #d97706;border-radius:.375rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.btn-warning:hover{color:#fff;background:#d97706}.delete-confirm{color:var(--color-destructive);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.delete-confirm span{font-weight:500}@media (width<=520px){.edit-panel{width:100dvw}.panel-field-row{flex-direction:column}}@media (width<=640px){.properties-table-section{border-radius:.625rem;padding:.85rem}.properties-table-section h2{margin-bottom:.85rem;font-size:1rem}.properties-table thead{display:none}.properties-table,.properties-table tbody{width:100%;display:block}.properties-table tbody tr.clickable-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.55rem;grid-template-columns:auto 1fr auto;grid-template-areas:"type property status""type meta balance";align-items:center;gap:.18rem .55rem;margin-bottom:.45rem;padding:.55rem .7rem;display:grid}.properties-table tbody tr.clickable-row:last-child{margin-bottom:0}.properties-table td{border-bottom:none;min-width:0;padding:0;font-size:.85rem;display:block}.properties-table td:before,.properties-table td.mobile-hide,.properties-table td[data-label=Name],.properties-table td[data-label=Staging\ Date]{display:none}.properties-table td[data-label=Type]{grid-area:type;align-self:center}.properties-table td[data-label=Property]{color:var(--color-text-high);word-break:break-word;white-space:normal;grid-area:property;align-self:center;font-weight:600;line-height:1.25}.properties-table td[data-label=Status]{pointer-events:none;grid-area:status;place-self:center end}.properties-table td[data-label=MobileMeta].mobile-only-meta{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;grid-area:meta;align-self:center;font-size:.72rem;line-height:1.25;display:block;overflow:hidden}.properties-table td[data-label=MobileMeta] .meta-sep{opacity:.55;margin:0 .35em}.properties-table td[data-label=Balance]{pointer-events:none;grid-area:balance;place-self:center end}.properties-table td.fee-mobile-show{color:var(--color-text-high);white-space:nowrap;grid-area:status;place-self:center end;font-size:.9rem;font-weight:600;display:block}.properties-table .type-badge{letter-spacing:0;background:0 0;border:none;width:1em;height:auto;padding:0;font-size:1.2rem;font-weight:700;line-height:1}.properties-table .type-badge .type-full{display:none}.properties-table .type-badge .type-short{display:inline}.properties-table .pay-status-pill{padding:.18rem .5rem;font-size:.7rem}}.properties-table td.mobile-only-meta{display:none}@media (prefers-reduced-motion:reduce){.properties-view,.panel-overlay,.edit-panel{animation:none}}.invoice-btn-group{align-items:center;gap:6px;display:inline-flex;position:relative}.invoice-history-badge{background:var(--gold,#b89b72);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.invoice-history-popover{z-index:200;background:#fff;border:1px solid #e5e5e5;border-radius:8px;min-width:220px;padding:8px 0;position:fixed;box-shadow:0 4px 16px #0000001f}.invoice-history-title{text-transform:uppercase;letter-spacing:.05em;color:#999;padding:4px 14px 8px;font-size:.7rem;font-weight:700}.invoice-history-item{color:var(--charcoal,#2c2c2c);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:.85rem;text-decoration:none;transition:background .1s;display:flex}.invoice-history-item:hover{background:#fafaf8}.inv-status{text-transform:capitalize;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:600}.status-badge.status-void{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.pay-status-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.pay-status-none{color:#666;background:#f0f0f0}.pay-status-unpaid{color:#991b1b;background:#fee2e2}.pay-status-partial{color:#92400e;background:#fef3c7}.pay-status-paid{color:#166534;background:#dcfce7}.board-page{max-width:1400px;margin:0 auto;padding:1.5rem 1rem 4rem}.board-header-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.board-header-row .board-title{margin-bottom:0}.board-title{font-family:var(--font-display,"Cormorant Garamond", serif);color:var(--color-text-high);letter-spacing:.01em;margin:0;font-size:2rem}.board-year-select{font-family:var(--font-body);color:var(--color-text-high);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:.5rem;flex:none;width:auto;min-width:0;max-width:7rem;margin-left:auto;padding:.4rem 1.75rem .4rem .65rem;font-size:.875rem}.board-year-select:focus{border-color:var(--color-primary);outline:none}.board-columns{grid-template-columns:repeat(5,minmax(200px,1fr));align-items:start;gap:1.25rem;display:grid;overflow-x:auto}.board-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;padding:.5rem 0 1rem;display:none;overflow-x:auto}.board-chips::-webkit-scrollbar{display:none}.board-chip{border:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-body);color:var(--color-muted);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.75rem;transition:border-color .15s,color .15s;display:inline-flex}.board-chip.active{border-color:var(--color-primary);color:var(--color-primary)}.board-chip-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.board-chip-count{color:var(--color-muted);font-weight:500}.board-column{background:var(--color-surface);border:1px solid var(--color-border);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;border-radius:.75rem;flex-direction:column;gap:.4rem;min-height:200px;max-height:calc(100vh - 10rem);padding:0 .65rem .75rem;transition:background .15s,border-color .15s;display:flex;overflow:hidden auto}.board-column::-webkit-scrollbar{width:4px}.board-column::-webkit-scrollbar-track{background:0 0}.board-column::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.board-column.drop-active{border-color:var(--color-primary);background:#b89b720f;border-style:dashed}.board-col-header{z-index:2;background:var(--color-surface);border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.75rem 0;display:flex;position:sticky;top:0}.board-column.drop-active .board-col-header{background:#f8f5f0fa}.board-col-header:after{content:"";background:var(--color-primary);width:32px;height:2px;position:absolute;bottom:-1px;left:0}.board-col-title{font-family:var(--font-display,"Cormorant Garamond", serif);letter-spacing:.02em;color:var(--color-text-high);flex:1;font-size:1.25rem}.board-col-hint{letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);white-space:nowrap;font-size:.65rem}.board-col-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.board-col-count{font-family:var(--font-body);color:var(--color-primary);background:#b89b721f;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600;transition:transform .18s}.board-col-count.bump{transform:scale(1.12)}.board-col-sort{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .35rem;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.board-col-sort:hover{color:var(--color-primary);border-color:var(--color-primary);background:#b89b720f}.board-card{border:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:.5rem;flex-direction:column;gap:.3rem;padding:.55rem .75rem;transition:border-color .15s ease-out,box-shadow .15s ease-out;display:flex;position:relative;box-shadow:0 1px 2px #0000000a}.board-card:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.board-card.source-ghost{opacity:.35;background:var(--color-surface);box-shadow:none;pointer-events:none;border-style:dashed}.board-card.drag-overlay{cursor:grabbing;opacity:1;border-color:var(--color-primary);transform:rotate(1.5deg);box-shadow:0 12px 32px #0000002e}.board-card-address{font-family:var(--font-body);color:var(--color-text-high);flex:1;min-width:0;font-size:.9rem;font-weight:500;line-height:1.25}.board-card-name{font-family:var(--font-body);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;overflow:hidden}.board-card-meta-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.board-card-dates{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.15rem;display:flex}.board-card-date{font-family:var(--font-body);color:var(--color-text-main);white-space:nowrap;flex-shrink:0;align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.board-card-date svg{color:var(--color-muted);flex-shrink:0}.board-card-date-destage{color:var(--color-muted)}.board-card-date-edit{margin-left:.25rem;font-size:.7rem}.board-card-complete-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.board-card.has-term-alert:before{content:"";background:var(--term-accent);border-radius:2px 0 0 2px;width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.board-card.term-due-soon{--term-accent:#d97706}.board-card.term-overdue,.board-card.term-missing{--term-accent:#c0392b}.board-card-term{font-family:var(--font-body);color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.72rem;line-height:1.3;display:flex}.board-card-term svg{color:currentColor;flex-shrink:0}.board-card-term-days{opacity:.8}.board-card-term-days:before{content:"· "}.board-card-term-due-soon{color:#b45309;font-weight:500}.board-card-term-overdue,.board-card-term-missing{color:#b02a24;font-weight:500}.board-card-term-missing .board-card-term-label{text-transform:uppercase;letter-spacing:.05em;color:#8a1f1f;background:#fde2e2;border-radius:10px;padding:.15rem .45rem;font-size:.65rem;font-weight:600}.board-card-renew-chip{color:var(--color-primary);background:#b89b7229;border-radius:10px;flex-shrink:0;align-items:center;gap:.15rem;padding:.1rem .35rem;font-size:.65rem;font-weight:600;display:inline-flex}.board-col-alert{font-family:var(--font-body);color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;flex-shrink:0;padding:.1rem .4rem;font-size:.68rem;font-weight:600}.board-chip-alert{color:#92400e;white-space:nowrap;font-size:.68rem;font-weight:600}.board-card-status-row{flex-wrap:wrap;gap:.3rem;display:flex}.board-card-pill{font-size:.7rem;font-weight:500;font-family:var(--font-body);border-radius:999px;padding:.08rem .45rem;line-height:1.35;display:inline-block}.board-card-row{font-family:var(--font-body);color:var(--color-text-main);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.board-card-row svg{color:var(--color-muted);flex-shrink:0}.board-card-prompt{color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-bottom:1px dashed;align-self:flex-start;padding:0;font-family:inherit;font-size:.75rem}.board-card-grip{color:var(--color-primary);opacity:.6;flex-shrink:0;display:none}.board-card-datepicker{border-top:1px solid var(--color-border);font-family:var(--font-body);flex-direction:column;gap:.5rem;margin-top:.25rem;padding-top:.5rem;display:flex}.board-card-datepicker label{color:var(--color-text-main);font-size:.8rem;font-weight:500}.board-card-datepicker input[type=date]{border:1px solid var(--color-border);border-radius:.375rem;padding:.35rem .5rem;font-family:inherit;font-size:.85rem}.board-card-datepicker input[type=date]:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.board-card-datepicker-actions{justify-content:flex-end;gap:.5rem;display:flex}.board-card-datepicker-save{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.375rem;padding:.35rem .9rem;font-family:inherit;font-size:.8rem}.board-card-datepicker-skip{color:var(--color-muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.8rem}.board-empty{font-family:var(--font-display,"Cormorant Garamond", serif);color:var(--color-muted);text-align:center;padding:2rem .5rem;font-size:.9rem;font-style:italic}@media (width<=959px){.board-columns{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-template-columns:none;gap:.75rem;margin:0 -1rem;padding:0 1rem .5rem;display:flex;overflow:auto visible}.board-columns::-webkit-scrollbar{display:none}.board-chips{display:flex}.board-column{scroll-snap-align:start;scrollbar-width:none;flex:0 0 88%;max-width:360px;min-height:60vh;max-height:calc(100vh - 13rem)}.board-column::-webkit-scrollbar{display:none}.board-columns.is-dragging{scroll-snap-type:none}.board-card{padding:.7rem .85rem}.board-card-grip{display:inline-block}.board-card-header-row{align-items:flex-start;gap:.5rem;display:flex}}@media (prefers-reduced-motion:reduce){.board-card,.board-col-count{transition:none}.board-card:hover,.board-card.dragging{transform:none}}.invoice-page-wrapper{flex-direction:column;align-items:center;gap:1.5rem;min-height:100vh;padding:2rem 1rem;font-family:Inter,sans-serif;display:flex}.invoice-paper{color:#000;zoom:.9;background:#fff;width:100%;max-width:850px;min-height:1100px;padding:3rem 4rem;position:relative;box-shadow:0 10px 30px #0000001a}.invoice-actions-panel{background:#fff;border-radius:8px;flex-direction:column;gap:.75rem;width:100%;max-width:850px;padding:.75rem 1.25rem;display:flex;overflow:visible;box-shadow:0 4px 12px #0000001f}.invoice-actions-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.invoice-actions-row--primary{justify-content:flex-start}.invoice-actions-row--primary .status-badge-wrapper{margin-left:auto}.invoice-recipients-row{align-items:flex-start;gap:.75rem}.invoice-recipients-checks{flex-flow:wrap;align-items:center;gap:.5rem 1rem;display:flex}.invoice-recipient-label{cursor:pointer;white-space:nowrap;align-items:center;gap:.3rem;display:flex}.invoice-actions-divider{background:#eee;height:1px;margin:0}.invoice-toast{margin-left:auto;font-family:Inter,sans-serif;font-size:.85rem}.invoice-toast--success{color:#2e7d32}.invoice-toast--error{color:#c0392b}.invoice-void-confirm{color:#555;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.invoice-actions-panel .status-menu{z-index:100}@media (width<=900px){.invoice-page-wrapper{padding:1rem .5rem}.invoice-paper{zoom:.82;width:850px;min-height:0}.invoice-actions-panel{padding:.75rem 1rem}.invoice-actions-row{width:100%}.invoice-actions-row--primary>:not(.status-badge-wrapper){flex:auto;min-width:0}.invoice-actions-row--primary .status-badge-wrapper{flex:none;margin-left:0}.invoice-toast{width:100%;margin-left:0}}@media (width<=720px){.invoice-paper{zoom:.65}}@media (width<=560px){.invoice-paper{zoom:.52}}@media (width<=440px){.invoice-paper{zoom:.44}.invoice-recipients-checks{flex-direction:column;align-items:flex-start;gap:.4rem}.invoice-recipient-label{white-space:normal}}.invoice-editable{border-radius:4px;min-width:20px;margin:-.2rem -.4rem;padding:.2rem .4rem;font-family:inherit;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-block;background:0 0!important;border:1px solid #0000!important;outline:none!important}.invoice-editable:hover{background:#f8f8f8!important;border-color:#efefef!important;box-shadow:0 1px 3px #00000005!important}.invoice-editable:focus{background:#fff!important;border-color:#d4d4d4!important;box-shadow:0 2px 8px #0000000f!important}.invoice-editable::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.invoice-editable::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@page{margin:.4in}@media print{html{font-size:12px}body *{visibility:hidden}.invoice-paper,.invoice-paper *{visibility:visible}.invoice-paper{width:100%;min-height:0;box-shadow:none;zoom:unset;padding:1rem 1.5rem;position:absolute;top:0;left:0}.invoice-actions-panel,.delete-row-btn,.invoice-field-empty{display:none!important}.invoice-editable{box-shadow:none!important;-webkit-appearance:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important}}.invoices-view{max-width:1200px;margin:0 auto;padding:32px}.invoices-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.invoices-header h1{font-family:var(--font-display,"Cormorant Garamond", serif);color:var(--charcoal,#2c2c2c);margin:0;font-size:2rem;font-weight:600}.void-toggle{color:#666;cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.invoices-table{border-collapse:collapse;width:100%;font-size:.9rem}.invoices-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#888;border-bottom:2px solid #e5e5e5;padding:10px 12px;font-size:.75rem;font-weight:600}.invoices-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:12px}.invoice-row{cursor:pointer;transition:background .1s}.invoice-row:hover{background:#fafaf8}.invoice-row.row-voided{opacity:.45}.invoice-number{color:var(--charcoal,#2c2c2c);font-family:monospace;font-weight:600}.invoices-loading,.invoices-empty{text-align:center;color:#999;padding:48px}.action-inline{align-items:center;gap:6px;display:flex}.void-confirm-label{color:#c0392b;white-space:nowrap;font-size:.82rem;font-weight:500}.btn-small{padding:4px 10px;font-size:.8rem}@media (width<=640px){.invoices-view{padding:20px 16px}.invoices-header{margin-bottom:16px}.invoices-table thead{display:none}.invoices-table,.invoices-table tbody{width:100%;display:block}.invoices-table tr.invoice-row{background:var(--color-surface,#fff);border:1px solid #e5e5e5;border-radius:.55rem;grid-template-columns:auto auto 1fr;grid-template-areas:"number number total""property property property""client date.";align-items:center;gap:.18rem .35rem;margin-bottom:.45rem;padding:.6rem .75rem;display:grid}.invoices-table td{border-bottom:none;min-width:0;padding:0;font-size:.85rem;display:block}.invoices-table td[data-label=Number]{grid-area:number;font-size:.78rem}.invoices-table td[data-label=Total]{color:var(--charcoal,#2c2c2c);grid-area:total;justify-self:end;font-weight:600}.invoices-table td[data-label=Property]{color:var(--charcoal,#2c2c2c);word-break:break-word;grid-area:property;font-weight:600;line-height:1.25}.invoices-table td[data-label=Client]{color:#888;white-space:nowrap;text-overflow:ellipsis;grid-area:client;font-size:.72rem;overflow:hidden}.invoices-table td[data-label=Date]{color:#888;white-space:nowrap;grid-area:date;min-width:max-content;font-size:.72rem}.invoices-table td[data-label=Date]:before{content:"· ";opacity:.55}.invoices-table td[data-label=Due],.invoices-table td[data-label=Actions]{display:none}}.clients-view{max-width:1400px;margin:0 auto;padding:32px}.clients-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.clients-header h1{font-family:var(--font-display,"Cormorant Garamond", serif);color:var(--charcoal,#2c2c2c);margin:0;font-size:2rem;font-weight:600}.clients-search{border:1px solid #ccc;border-radius:6px;flex:0 320px;padding:8px 12px;font-size:.9rem}.clients-loading,.clients-empty{text-align:center;color:#999;padding:48px}.clients-empty code{background:#f0f0f0;border-radius:3px;margin:0 4px;padding:2px 6px;font-size:.85em}.clients-split{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}.clients-list{background:#fff;border:1px solid #e5e5e5;border-radius:8px;max-height:calc(100vh - 220px);overflow:hidden auto}.client-row{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:background .1s;display:flex}.client-row:hover{background:#fafaf8}.client-row.selected{border-left:3px solid var(--gold,#b89b72);background:#b89b721f;padding-left:11px}.client-row-main{flex:1;min-width:0}.client-name{color:var(--charcoal,#2c2c2c);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.client-email{color:#888;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.client-row-meta{text-align:right;flex-shrink:0}.client-counts{color:#aaa;font-size:.75rem}.clients-empty-small{text-align:center;color:#999;padding:24px;font-size:.9rem}.client-detail{background:#fff;border:1px solid #e5e5e5;border-radius:8px;min-height:400px;padding:24px}.client-detail-empty{color:#aaa;text-align:center;padding:80px 0}.detail-header h2{font-family:var(--font-display,"Cormorant Garamond", serif);color:var(--charcoal,#2c2c2c);margin:0 0 2px;font-size:1.6rem}.detail-email{color:#888;font-size:.9rem}.detail-legal-name{color:#aaa;margin-top:4px;font-size:.82rem}.detail-stats{background:#fafaf8;border-radius:6px;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0;padding:16px;display:grid}.detail-stat .stat-label{text-transform:uppercase;letter-spacing:.05em;color:#888;font-size:.7rem;font-weight:600}.detail-stat .stat-value{color:var(--charcoal,#2c2c2c);margin-top:4px;font-size:1.2rem;font-weight:600}.detail-fields{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:8px;display:grid}.detail-field label{text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.detail-field input{box-sizing:border-box;background:#fafaf8;border:1px solid #ccc;border-radius:4px;width:100%;height:36px;padding:0 10px;font-size:.9rem;line-height:36px}.detail-field input:-webkit-autofill{box-shadow:inset 0 0 0 1000px #fafaf8!important}.detail-field input:-webkit-autofill:focus{box-shadow:inset 0 0 0 1000px #fafaf8!important}.detail-section{margin-top:24px}.detail-section h3{text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 10px;font-size:.85rem}.detail-empty{color:#aaa;padding:8px 0;font-size:.88rem}.detail-list{flex-direction:column;gap:2px;display:flex}.detail-list-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:90px 1fr 100px 80px;align-items:center;gap:12px;padding:10px 12px;font-size:.85rem;transition:background .1s,border-color .1s;display:grid}.detail-list-item:hover{background:#fafaf8;border-color:#e5e5e5}.inv-number{font-family:monospace;font-weight:600}.inv-property{color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tx-property{color:#555;flex-direction:column;gap:1px;min-width:0;display:flex}.tx-address{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tx-option{color:#999;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-style:italic;overflow:hidden}.inv-total{text-align:right;font-weight:600}.tx-type{text-transform:uppercase;letter-spacing:.03em;color:#888;font-size:.7rem;font-weight:700}.tx-fee{text-align:right;font-weight:600}.tx-status{text-transform:capitalize;color:#666;font-size:.72rem}.detail-loading{text-align:center;color:#999;padding:24px}.detail-delete{border-top:1px solid #f0f0f0;align-items:center;gap:10px;margin-top:32px;padding-top:20px;display:flex}.btn-delete{color:#aaa;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.btn-delete:hover{color:#c0392b}.delete-confirm-text{color:#555;font-size:.85rem}.btn-delete-confirm{color:#fff;cursor:pointer;background:#c0392b;border:none;border-radius:4px;padding:5px 12px;font-size:.82rem}.btn-delete-confirm:hover{background:#a93226}.btn-delete-cancel{cursor:pointer;color:#555;background:0 0;border:1px solid #ccc;border-radius:4px;padding:5px 12px;font-size:.82rem}.btn-delete-cancel:hover{background:#f5f5f5}@media (width<=900px){.clients-split{grid-template-columns:1fr}.clients-list{max-height:360px}.detail-stats{grid-template-columns:repeat(2,1fr)}.detail-fields{grid-template-columns:1fr}.detail-list-item{grid-template-columns:1fr;gap:2px}}.agenda-view{max-width:1400px;margin:0 auto;padding:1.5rem 2rem 4rem}.agenda-title{font-family:var(--font-display,"Cormorant Garamond", serif);color:var(--charcoal,#2c2c2c);margin:0 0 1.5rem;font-size:2rem;font-weight:500}.agenda-loading,.agenda-empty{color:#9a948b;margin:0;font-size:.9rem;font-style:italic}.agenda-error{background:#fdecea;border-left:3px solid #c0392b;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.agenda-retry{color:#fff;cursor:pointer;background:#c0392b;border:0;border-radius:3px;padding:.4rem .9rem;font-size:.85rem}.agenda-bucket{background:#fff;border:1px solid #e8e3da;border-radius:6px;margin-bottom:1.5rem;padding:1.25rem 1.5rem 1.5rem}.agenda-bucket-title{font-family:var(--font-display,"Cormorant Garamond", serif);letter-spacing:.05em;text-transform:uppercase;color:var(--charcoal,#2c2c2c);border-bottom:1px solid #e8e3da;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.4rem;font-weight:500}.agenda-columns{gap:1.25rem;display:grid}.agenda-columns.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.agenda-columns.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.agenda-column{background:#faf8f4;border-radius:4px;padding:.85rem .9rem 1rem}.agenda-column-title{letter-spacing:.08em;text-transform:uppercase;color:#6b6660;margin:0 0 .6rem;font-size:.75rem;font-weight:600}.agenda-rows{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.agenda-row{cursor:pointer;background:#fff;border:1px solid #ece6db;border-radius:3px;flex-direction:column;gap:.25rem;padding:.55rem .7rem;transition:border-color .12s;display:flex}.agenda-row:hover{border-color:var(--gold,#b89b72)}.agenda-row.is-overdue{border-left:3px solid #d97706}.agenda-row.is-missing-date{border-left:3px solid #c0392b}.agenda-row-main{flex-direction:column;gap:.1rem;display:flex}.agenda-row-addr{color:var(--charcoal,#2c2c2c);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.agenda-row-name{color:#807a72;font-size:.78rem}.agenda-row-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.agenda-row-date{color:#807a72;font-size:.75rem}.agenda-row-action{margin-left:auto}.agenda-row-error{color:#c0392b;margin-left:.4rem;font-size:.7rem}.agenda-pill{letter-spacing:.05em;text-transform:uppercase;border-radius:10px;padding:.15rem .45rem;font-size:.65rem;font-weight:600;display:inline-block}.agenda-pill-overdue{color:#92400e;background:#fef3c7}.agenda-pill-missing{color:#8a1f1f;background:#fde2e2}.agenda-renewal-btn{background:var(--gold,#b89b72);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:3px;padding:.3rem .65rem;font-size:.72rem;font-weight:500}.agenda-renewal-btn:hover{filter:brightness(1.05)}.agenda-renewal-btn:disabled{opacity:.6;cursor:not-allowed}.agenda-drafted{color:#15803d;font-size:.72rem;font-weight:600}.agenda-toast{background:var(--charcoal,#2c2c2c);color:#fff;z-index:50;border-radius:4px;padding:.7rem 1.1rem;font-size:.85rem;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 12px #00000026}@media (width<=900px){.agenda-view{padding:1rem}.agenda-bucket{padding:1rem;overflow:hidden}.agenda-columns.cols-4,.agenda-columns.cols-3{grid-template-columns:1fr;gap:.75rem}.agenda-column{padding:.6rem .75rem .75rem}.agenda-row-addr{white-space:normal;text-overflow:unset;overflow:visible}.agenda-column:has(.agenda-empty){display:none}}.app-shell{background:var(--color-background);min-height:100vh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);z-index:10;flex-direction:column;flex-shrink:0;display:flex}.sidebar--expanded,.sidebar--collapsed{height:100vh;position:sticky;top:0;overflow-y:auto}.sidebar--expanded{width:240px}.sidebar--collapsed{width:64px}.sidebar--drawer{z-index:1000;width:240px;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:2px 0 20px #0000001f}.sidebar--drawer.is-open{transform:translate(0)}.sidebar-brand{border-bottom:1px solid var(--color-border);font-family:var(--font-body);letter-spacing:.2em;color:var(--color-text-high);justify-content:flex-start;align-items:center;gap:.5rem;min-height:64px;padding:1.25rem;font-size:.75rem;font-weight:500;display:flex}.sidebar--collapsed .sidebar-brand{justify-content:center;padding:1.25rem 0}.sidebar-brand-dot{color:var(--color-primary);font-size:1.25rem;line-height:1}.sidebar-nav{flex-direction:column;flex:1;gap:.125rem;padding:.75rem .5rem;display:flex}.sidebar-link,.sidebar-signout{width:100%;font-family:var(--font-body);letter-spacing:.02em;color:var(--color-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.85rem;padding:.6rem .75rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.sidebar--collapsed .sidebar-link,.sidebar--collapsed .sidebar-signout{justify-content:center;padding:.6rem 0}.sidebar-link:hover,.sidebar-signout:hover{color:var(--color-text-main);background:var(--color-background)}.sidebar-link:focus-visible,.sidebar-signout:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar-link.is-active{color:var(--color-primary);background:var(--color-background);font-weight:600}.sidebar-link.is-active:before{content:"";background:var(--color-primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:.35rem;bottom:.35rem;left:-.5rem}.sidebar-link-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-link-label{white-space:nowrap}.sidebar--collapsed .sidebar-link,.sidebar--collapsed .sidebar-signout{position:relative}.sidebar--collapsed .sidebar-link:after,.sidebar--collapsed .sidebar-signout:after{content:attr(data-label);background:var(--color-text-high);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:1001;border-radius:.25rem;padding:.35rem .6rem;font-size:.75rem;transition:opacity .15s;position:absolute;top:50%;left:calc(100% + .5rem);transform:translateY(-50%)}.sidebar--collapsed .sidebar-link:hover:after,.sidebar--collapsed .sidebar-link:focus-visible:after,.sidebar--collapsed .sidebar-signout:hover:after,.sidebar--collapsed .sidebar-signout:focus-visible:after{opacity:1}.sidebar-footer{border-top:1px solid var(--color-border);padding:.75rem .5rem 1rem}.app-content{flex-direction:column;flex:1;min-width:0;display:flex}.app-content-inner{flex:1;width:100%;max-width:860px;margin:0 auto;padding:2rem 1rem}.app-content-inner{max-width:860px}.app-content--wide .app-content-inner{max-width:1400px}.app-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:50;justify-content:space-between;align-items:center;min-height:56px;padding:0 1rem;display:none;position:sticky;top:0}.hamburger{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-main);z-index:1;background:0 0;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem .55rem;display:inline-flex;position:relative}.hamburger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.hamburger-brand{font-family:var(--font-body);letter-spacing:.2em;color:var(--color-text-high);margin-left:0;font-size:.75rem;font-weight:500;position:absolute;left:50%;transform:translate(-50%)}.drawer-backdrop{z-index:999;opacity:0;pointer-events:none;background:#0006;transition:opacity .22s;position:fixed;inset:0}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.auth-shell{background:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}@media (width<=1023px){.sidebar--expanded{display:none}}@media (width>=1024px){.sidebar--collapsed{display:none}}@media (width<=639px){.sidebar--expanded,.sidebar--collapsed{display:none}.app-topbar{display:flex}.app-content-inner{padding:1.25rem 1rem}}@media (width>=640px){.app-topbar,.sidebar--drawer,.drawer-backdrop{display:none}}@media (prefers-reduced-motion:reduce){.sidebar--drawer,.drawer-backdrop,.sidebar-link,.sidebar-signout{transition:none}}.trash-view{max-width:1400px;margin:0 auto;padding:32px}.trash-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.trash-header h1{font-family:var(--font-display,"Cormorant Garamond", serif);color:var(--charcoal,#2c2c2c);margin:0;font-size:2.5rem;font-weight:600}.trash-info-banner{color:#7c6444;background:#b89b7214;border:1px solid #b89b7240;border-radius:8px;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;font-size:.9rem;display:flex}.trash-info-banner svg{color:var(--gold,#b89b72);flex-shrink:0}.trash-table-section{background:#fff;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}.trash-empty{text-align:center;color:#999;padding:80px 40px}.trash-empty p{margin:0;font-size:1.1rem}.trash-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.trash-table th{color:#666;text-transform:uppercase;letter-spacing:.05em;background:#fafaf8;border-bottom:1px solid #e5e5e5;padding:14px 16px;font-size:.72rem;font-weight:600}.trash-table td{color:var(--charcoal,#2c2c2c);vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:16px}.trash-table tr:last-child td{border-bottom:none}.trash-table tr:hover td{background:#fafaf8}.trash-table .type-badge{text-transform:uppercase;letter-spacing:.03em;border:none;border-radius:4px;padding:4px 8px;font-size:.7rem;font-weight:700;display:inline-block}.trash-table .type-badge.contract{color:#4a684e;background:#6b8e6f1f}.trash-table .type-badge.proposal{color:#8c714d;background:#b89b7226}.trash-table .type-badge.client{color:#2f72b5;background:#4a90e21f}@media (width<=768px){.trash-table,.trash-table thead,.trash-table tbody,.trash-table th,.trash-table td,.trash-table tr{display:block}.trash-table thead{display:none}.trash-table tr{border-bottom:1px solid #e5e5e5;padding:16px 8px}.trash-table td{text-align:right;border:none;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.trash-table td:before{content:attr(data-label);color:#888;text-transform:uppercase;text-align:left;margin-right:16px;font-size:.75rem;font-weight:600}.trash-actions-cell{justify-content:flex-end;width:100%}}.app-loading{background:var(--color-background);justify-content:center;align-items:center;min-height:100vh;display:flex}.app-wrapper{flex-direction:column;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:.75rem;max-width:420px;margin:6rem auto;padding:2.5rem 2rem;box-shadow:0 4px 24px #0000000f}.login-card h1{margin-bottom:.75rem;font-size:2rem}.login-card p{color:var(--color-muted,#9e9085);margin-bottom:2rem;font-size:.9rem}.btn-primary{background:var(--color-primary);color:#fff;font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;border:none;border-radius:.375rem;padding:.75rem 1.75rem;font-size:.9rem;font-weight:500;transition:background .18s,transform .1s}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-large{width:100%;padding:1rem 2.5rem;font-size:1rem}.btn-ghost{border:1px solid var(--color-border);font-family:var(--font-body);color:var(--color-text-main);cursor:pointer;background:0 0;border-radius:.375rem;padding:.5rem 1rem;font-size:.8rem;transition:border-color .15s,background .15s}.btn-ghost:hover{background:var(--color-background);border-color:var(--color-primary)}.backup-toast{white-space:nowrap;font-size:.8rem;font-family:var(--font-body);z-index:100;border-radius:.375rem;padding:.5rem 1.25rem;font-weight:500;animation:.2s toast-in;position:absolute;bottom:-2.75rem;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0000001a}.backup-toast--success{color:#1e6e3e;background:#f0faf4;border:1px solid #a3d9b5}.backup-toast--error{color:#c0392b;background:#fdf0ef;border:1px solid #f5c6c3}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.btn-small{padding:.375rem .75rem}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.spinner-small{vertical-align:middle;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:.5rem;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#c0392b;background:#fdf0ef;border:1px solid #f5c6c3;border-radius:.375rem;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}@media (prefers-reduced-motion:reduce){.spinner,.spinner-small{border-top-color:var(--color-primary);animation:none}.sync-dot,.panel-overlay{animation:none}}.address-verify-row{align-items:stretch;gap:.5rem;display:flex}.address-verify-row>input{flex:1;min-width:0}.address-verify-btn{white-space:nowrap;flex-shrink:0}@media (width<=640px){.address-verify-row{flex-direction:column}.address-verify-btn{align-self:flex-start}}.address-verify-note{color:#666;margin:.4rem 0 0;font-size:.85rem}.address-picker-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.address-picker{background:#fff;border-radius:8px;width:100%;max-width:480px;padding:1.25rem;box-shadow:0 10px 40px #00000040}.address-picker-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.address-picker-list{flex-direction:column;gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.address-picker-option{text-align:left;cursor:pointer;background:#f7f7f9;border:1px solid #e3e3e8;border-radius:6px;width:100%;padding:.65rem .75rem;font-size:.95rem}.address-picker-option:hover{background:#eef0f4;border-color:#c8cdd5}.address-picker-dismiss{cursor:pointer;color:#555;background:0 0;border:1px solid #d3d3d8;border-radius:6px;width:100%;padding:.55rem;font-size:.9rem}.address-picker-dismiss:hover{background:#f4f4f6}
