@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-montserrat);--font-serif:var(--font-cormorant);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-montserrat);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-all{-webkit-user-select:all;user-select:all}}:root{--castle-dark:#2c2c2c;--castle-gold:#9c8a76;--castle-gold-light:#c4b09a;--castle-cream:#fffdf9;--castle-warm:#f6f0e6;--castle-tan:#e8dcc8;--text-primary:#2c2c2c;--text-secondary:#6b6b6b;--text-muted:#9a9a9a;--border:#e5dfd3;--white:#fff;--status-inquiry:#e0e7ff;--status-inquiry-text:#3730a3;--status-brochure:#dbeafe;--status-brochure-text:#1e40af;--status-tour:#fef3c7;--status-tour-text:#92400e;--status-proposal:#fed7aa;--status-proposal-text:#9a3412;--status-booked:#1e40af;--status-booked-text:#fff;--status-completed:#10b981;--status-completed-text:#fff;--status-lost:#9ca3af;--status-lost-text:#fff;--status-cold:#e5e7eb;--status-cold-text:#6b7280}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-montserrat), "Montserrat", sans-serif;background:var(--castle-cream);color:var(--text-primary);min-height:100vh;line-height:1.5}.app-header{background:var(--white);border-bottom:1px solid var(--border);z-index:30;height:76px;position:fixed;top:0;left:0;right:0}.header-content{justify-content:space-between;align-items:center;gap:32px;height:100%;padding:0 32px;display:flex}a.brand{color:inherit;text-decoration:none;transition:opacity .15s;display:block}a.brand:hover{opacity:.75}.brand-name{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);letter-spacing:.5px;font-size:28px;font-weight:600}.brand-subtitle{color:var(--castle-gold);letter-spacing:3px;text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:500}.btn-primary{background:var(--castle-dark);color:var(--castle-cream);font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;padding:12px 24px;font-size:11px;font-weight:500;transition:background .2s}.btn-primary:hover{background:#404040}.app-main{flex-direction:column;gap:24px;max-width:1400px;margin:0 auto;padding:32px;display:flex}.stats-controls{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:-8px;display:flex}.stats-controls-label{color:var(--castle-gold);letter-spacing:2px;text-transform:uppercase;font-size:10px;font-weight:500}.stats-controls-select{border:1px solid var(--border);background:var(--white);font-family:var(--font-montserrat), "Montserrat", sans-serif;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b6b6b' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:6px 28px 6px 12px;font-size:12px;font-weight:500}.stats-controls-select:focus{border-color:var(--castle-gold);outline:none}.stats-bar{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{background:var(--white);border:1px solid var(--border);padding:20px}.stat-label{color:var(--castle-gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:500}.stat-value{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);font-size:32px;font-weight:600}.top-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.panel{background:var(--white);border:1px solid var(--border)}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.panel-header h2{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);font-size:22px;font-weight:600}.panel-body{min-height:200px;padding:20px 24px}.empty-message{color:var(--text-muted);text-align:center;padding:40px 0;font-size:14px}.event-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.event-row:first-child{padding-top:4px}.event-row:last-child{border-bottom:none;padding-bottom:4px}.event-row-name{color:var(--castle-dark);margin-bottom:2px;font-size:15px;font-weight:500}.event-row-date{color:var(--text-secondary);font-size:13px}.event-row-main{flex:1}.event-row-delete{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;margin-left:12px;padding:4px 8px;font-size:22px;line-height:1;transition:opacity .15s,color .15s}.event-row:hover .event-row-delete{opacity:1}.event-row-delete:hover{color:#c0392b}.inquiry-row{border-bottom:1px solid var(--border);cursor:pointer;margin:0 -16px;padding:12px 16px;transition:background .12s}.inquiry-row:hover{background:var(--castle-warm)}.inquiry-row:focus{outline:2px solid var(--castle-gold);outline-offset:-2px;background:var(--castle-warm)}.inquiry-row:first-child{padding-top:4px}.inquiry-row:last-child{border-bottom:none;padding-bottom:4px}.inquiry-row-name{color:var(--castle-dark);margin-bottom:4px;font-size:15px;font-weight:500}.inquiry-row-meta{color:var(--text-secondary);gap:16px;font-size:13px;display:flex}.inquiry-row-submitted{color:var(--text-muted);font-style:italic}.search-input{border:1px solid var(--border);background:var(--castle-cream);font-family:var(--font-montserrat), "Montserrat", sans-serif;width:240px;color:var(--text-primary);padding:8px 12px;font-size:13px}.search-input:focus{border-color:var(--castle-gold);outline:none}.status-badge{letter-spacing:1.5px;text-transform:uppercase;padding:4px 12px;font-size:10px;font-weight:600;display:inline-block}.modal-backdrop{z-index:100;background:#1a1a1a8c;justify-content:center;align-items:flex-start;padding:80px 20px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-backdrop[hidden]{display:none}.modal{background:var(--white);border:1px solid var(--border);width:100%;max-width:560px;box-shadow:0 20px 60px #00000040}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);font-size:22px;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:28px;line-height:1;transition:color .15s}.modal-close:hover{color:var(--castle-dark)}.modal-body{padding:24px}.form-group{margin-bottom:18px}.form-label{color:var(--castle-gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:500;display:block}.required-marker{color:var(--castle-gold)}.form-input{border:1px solid var(--border);background:var(--castle-cream);width:100%;font-family:var(--font-montserrat), "Montserrat", sans-serif;color:var(--text-primary);padding:10px 12px;font-size:14px}.form-input:focus{border-color:var(--castle-gold);outline:none}select.form-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b6b6b' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.form-section-heading{color:var(--castle-dark);letter-spacing:2px;text-transform:uppercase;border-top:1px solid var(--border);margin-top:24px;margin-bottom:4px;padding-top:8px;padding-bottom:14px;font-size:10px;font-weight:600}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;display:flex}.btn-secondary{background:var(--white);color:var(--text-secondary);border:1px solid var(--border);font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer;padding:12px 24px;font-size:11px;font-weight:500;transition:border-color .2s,color .2s}.btn-secondary:hover{border-color:var(--castle-dark);color:var(--castle-dark)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--castle-dark);color:var(--castle-cream);letter-spacing:.5px;min-width:240px;max-width:360px;padding:14px 20px;font-size:13px;animation:.25s ease-out toast-in;box-shadow:0 6px 20px #00000040}.toast.toast-success{border-left:3px solid var(--castle-gold)}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.detail-breadcrumb{letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:500}.detail-back{color:var(--castle-gold-light);text-decoration:none;transition:color .15s}.detail-back:hover{color:var(--castle-dark)}.detail-header{background:var(--white);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:28px 32px;display:flex}.detail-title{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);margin-bottom:4px;font-size:32px;font-weight:600;line-height:1.2}.detail-meta{color:var(--text-secondary);font-size:14px}.detail-tabs{scrollbar-width:thin;-webkit-overflow-scrolling:touch;background:var(--white);border:1px solid var(--border);border-top:none;border-bottom:1px solid var(--border);flex-wrap:nowrap;display:flex;overflow-x:auto}.detail-tab{white-space:nowrap;font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:16px 18px;font-size:11px;font-weight:500;transition:color .15s,border-color .15s}.detail-tab:hover{color:var(--castle-dark)}.detail-tab-active{color:var(--castle-dark);border-bottom-color:var(--castle-gold)}.detail-tab-content{background:var(--white);border:1px solid var(--border);border-top:none;min-height:280px;padding:32px}.detail-section{margin-bottom:36px}.detail-section:last-child{margin-bottom:0}.detail-section-heading{color:var(--castle-gold);letter-spacing:2.5px;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:10px;font-size:10px;font-weight:600}.detail-field{border-bottom:1px solid var(--border);align-items:center;padding:12px 0;display:flex}.detail-field:last-child{border-bottom:none}.detail-field-label{color:var(--text-secondary);letter-spacing:1.5px;text-transform:uppercase;flex:0 0 180px;font-size:11px;font-weight:500}.detail-field-value{color:var(--castle-dark);flex:1;font-size:14px}.status-dropdown-wrap{display:inline-block;position:relative}.status-dropdown{opacity:0;cursor:pointer;position:absolute;inset:0}.status-dropdown-wrap .status-badge{cursor:pointer;padding-right:28px;position:relative}.status-dropdown-wrap .status-badge:after{content:"▾";opacity:.7;font-size:10px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.activity-list{margin:0;padding:0;list-style:none}.activity-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.activity-item:last-child{border-bottom:none}.activity-description{color:var(--castle-dark);flex:1}.activity-meta{flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:flex}.activity-user{color:var(--text-secondary)}.activity-sep{color:var(--text-muted)}.activity-time{color:var(--text-muted);font-style:italic}.activity-item{justify-content:space-between;align-items:center;gap:16px;display:flex}.client-list,.vendor-list{margin:0;padding:0;list-style:none}.client-item,.vendor-item{border-bottom:1px solid var(--border);padding:14px 0}.client-item:last-child,.vendor-item:last-child{border-bottom:none}.client-item-name,.vendor-item-name{color:var(--castle-dark);align-items:center;gap:10px;margin-bottom:4px;font-size:15px;font-weight:500;display:flex}.client-item-meta,.vendor-item-meta{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.client-item-meta a,.vendor-item-meta a{color:var(--text-secondary);text-decoration:none}.client-item-meta a:hover,.vendor-item-meta a:hover{color:var(--castle-gold)}.client-item-sep{color:var(--text-muted)}.client-primary-tag{letter-spacing:1.5px;text-transform:uppercase;color:var(--castle-gold);background:var(--castle-warm);border:1px solid var(--castle-tan);padding:3px 8px;font-size:9px;font-weight:600}.vendor-type-tag{letter-spacing:1.5px;text-transform:uppercase;padding:3px 8px;font-size:9px;font-weight:600}.vendor-type-castle-hired{color:var(--castle-dark);background:var(--castle-warm);border:1px solid var(--castle-tan)}.vendor-type-client-hired{color:var(--text-secondary);background:var(--castle-cream);border:1px solid var(--border)}.detail-section-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.detail-section-bar .detail-section-heading{border:none;margin:0;padding:0}.btn-link{font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--castle-gold-light);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:11px;font-weight:500;transition:color .15s}.btn-link:hover{color:var(--castle-dark)}.btn-link:disabled{opacity:.5;cursor:not-allowed}.btn-link-danger{color:#c0392b}.btn-link-danger:hover{color:#8b1a0e}.client-item,.vendor-item{justify-content:space-between;align-items:center;gap:16px;display:flex}.client-item-main,.vendor-item-main{flex:1}.row-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}a.event-row,a.inquiry-row{color:inherit;text-decoration:none;display:flex}a.inquiry-row{flex-direction:column}.header-actions{align-items:center;gap:14px;display:flex}.login-page{background:radial-gradient(circle at 20% 20%, #9c8a7614, transparent 50%), radial-gradient(circle at 80% 80%, #9c8a760f, transparent 50%), var(--castle-warm);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.login-card{background:var(--white);width:100%;max-width:440px;padding:56px 52px 48px;position:relative;box-shadow:0 24px 60px #1a1a1a1a,0 4px 16px #1a1a1a0a}.login-card:before{content:"";background:var(--castle-gold);height:3px;position:absolute;top:0;left:0;right:0}.login-brand{text-align:center;margin-bottom:36px}.login-brand .brand-name{font-size:38px;font-weight:500;line-height:1.1}.login-brand .brand-subtitle{letter-spacing:4px;margin-top:8px;font-size:11px}.login-divider{background:var(--border);width:60%;height:1px;margin:0 auto 32px;position:relative}.login-divider:after{content:"";background:var(--castle-gold);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.login-heading{text-align:center;margin-bottom:32px}.login-heading h1{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);margin-bottom:6px;font-size:24px;font-weight:500}.login-heading p{color:var(--text-secondary);letter-spacing:.3px;font-size:13px}.login-page .form-group{margin-bottom:22px}.login-page .form-input{background:var(--castle-cream);padding:13px 14px;font-size:14px;transition:border-color .15s,background .15s}.login-page .form-input:focus{background:var(--white)}.login-submit{letter-spacing:2.5px;width:100%;margin-top:8px;padding:16px 24px;font-size:12px}.login-help{text-align:center;border-top:1px solid var(--border);color:var(--text-muted);margin-top:28px;padding-top:24px;font-size:12px}.login-error{color:#991b1b;letter-spacing:.2px;background:#fef2f2;border-left:3px solid #dc2626;margin-bottom:20px;padding:12px 16px;font-size:13px}.status-inquiry{background:var(--status-inquiry);color:var(--status-inquiry-text)}.status-brochure-sent{background:var(--status-brochure);color:var(--status-brochure-text)}.status-tour-scheduled{background:var(--status-tour);color:var(--status-tour-text)}.status-proposal-sent{background:var(--status-proposal);color:var(--status-proposal-text)}.status-booked{background:var(--status-booked);color:var(--status-booked-text)}.status-completed{background:var(--status-completed);color:var(--status-completed-text)}.status-lost{background:var(--status-lost);color:var(--status-lost-text)}.status-cold{background:var(--status-cold);color:var(--status-cold-text)}.user-menu{position:relative}.user-avatar{background:var(--castle-dark);width:38px;height:38px;color:var(--castle-cream);font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:1px;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.user-avatar:hover{background:#2c2c2c}.user-avatar:focus-visible{box-shadow:0 0 0 3px var(--castle-warm), 0 0 0 4px var(--castle-gold);outline:none}.user-menu-dropdown{background:var(--white);border:1px solid var(--border);z-index:50;min-width:240px;animation:.12s ease-out user-menu-in;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 36px #1a1a1a24}.user-menu-dropdown:before{content:"";background:var(--castle-gold);height:3px;position:absolute;top:-3px;left:0;right:0}@keyframes user-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:14px 18px}.user-menu-header-label{letter-spacing:2px;text-transform:uppercase;color:var(--castle-gold);margin-bottom:4px;font-size:9px;font-weight:500}.user-menu-header-email{color:var(--castle-dark);word-break:break-all;font-size:13px}.user-menu-divider{background:var(--border);height:1px}.user-menu-item{text-align:left;width:100%;font-family:var(--font-montserrat), "Montserrat", sans-serif;color:var(--castle-dark);cursor:pointer;background:0 0;border:none;padding:12px 18px;font-size:13px;transition:background .12s,color .12s;display:block}.user-menu-item:hover{background:var(--castle-warm)}.user-menu-item:focus-visible{background:var(--castle-warm);outline:none}.user-menu-item:disabled{opacity:.5;cursor:not-allowed}.user-menu-item-danger{color:var(--text-secondary);border-top:1px solid var(--border)}.user-menu-item-danger:hover{color:var(--castle-dark)}.activity-scroll{max-height:420px;overflow:hidden auto}.side-nav{background:var(--white);border-right:1px solid var(--border);z-index:20;flex-direction:column;width:240px;height:calc(100vh - 76px);display:flex;position:fixed;top:76px;left:0;overflow-y:auto}.side-nav-items{flex-direction:column;flex:1;gap:2px;padding:16px 12px;display:flex}.side-nav-link{font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:11px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.side-nav-link:hover{background:var(--castle-warm);color:var(--castle-dark)}.side-nav-link-active,.side-nav-link-active:hover{background:var(--castle-dark);color:var(--castle-cream)}.side-nav-children{border-left:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:4px;margin-left:12px;padding-left:4px;display:flex}.side-nav-link-child{letter-spacing:1px;text-transform:none;padding:8px 12px;font-size:11px}.side-nav-caret{opacity:.6;font-size:10px}.app-with-sidebar{min-height:100vh;margin-left:240px;padding-top:76px}.upcoming-scroll{max-height:420px;overflow:hidden auto}.upcoming-row{border-bottom:1px solid var(--border);color:inherit;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;text-decoration:none;transition:background .12s;display:flex}.upcoming-row:hover{background:var(--castle-warm);margin:0 -16px;padding-left:16px;padding-right:16px}.upcoming-row:last-child{border-bottom:none}.upcoming-row-main{flex:1;min-width:0}.upcoming-row-name{color:var(--castle-dark);margin-bottom:4px;font-size:15px;font-weight:500}.upcoming-row-date{color:var(--text-secondary);font-size:13px}.upcoming-row-days{color:var(--text-muted)}.calendar-toolbar{background:var(--white);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.calendar-month-nav{align-items:center;gap:12px;display:flex}.calendar-month-label{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);text-align:center;min-width:200px;font-size:24px;font-weight:600}.calendar-month-nav .btn-secondary{min-width:44px;padding:8px 14px}.calendar-filters{background:var(--white);border:1px solid var(--border);border-top:none;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 24px;display:flex}.calendar-filters-label{letter-spacing:2px;text-transform:uppercase;color:var(--castle-gold);margin-right:6px;font-size:10px;font-weight:500}.calendar-filter{font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:1px solid #0000;padding:5px 12px;font-size:10px;font-weight:600;transition:opacity .15s,border-color .15s}.calendar-filter-off{background:var(--white);color:var(--text-muted);border-color:var(--border)}.calendar-filter-off:hover{color:var(--text-secondary);border-color:var(--text-muted)}.calendar-filter-on{opacity:1}.calendar-filter-on:hover{opacity:.8}.calendar-grid{background:var(--white);border:1px solid var(--border);border-top:none;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekday{text-align:center;letter-spacing:2px;text-transform:uppercase;color:var(--castle-gold);background:var(--castle-cream);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px;font-size:10px;font-weight:500}.calendar-weekday:nth-child(7n){border-right:none}.calendar-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;min-height:110px;padding:6px;display:flex}.calendar-cell-out{background:var(--castle-cream)}.calendar-cell-out .calendar-date{color:var(--text-muted)}.calendar-date-wrap{justify-content:flex-end;display:flex}.calendar-date{color:var(--castle-dark);padding:2px 6px;font-size:12px;font-weight:500;line-height:1}.calendar-date-today{background:var(--castle-dark);color:var(--castle-cream);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.calendar-cell-events{flex-direction:column;gap:2px;display:flex}.calendar-event{letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:3px 6px;font-size:10px;font-weight:500;text-decoration:none;transition:opacity .15s;display:block;overflow:hidden}.calendar-event:hover{opacity:.85}.calendar-event-more{color:var(--text-muted);padding:2px 6px;font-size:10px;font-style:italic}.availability-add-form{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.availability-add-form .form-group{margin-bottom:0}.availability-add-form .btn-primary{height:42px}.availability-list{flex-direction:column;gap:24px;display:flex}.availability-day{border-bottom:1px solid var(--border);padding-bottom:18px}.availability-day:last-child{border-bottom:none;padding-bottom:0}.availability-day-header{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);margin-bottom:10px;font-size:18px;font-weight:600}.availability-day-slots{flex-direction:column;gap:8px;display:flex}.availability-slot{background:var(--castle-cream);border-left:3px solid var(--castle-tan);align-items:center;gap:14px;padding:10px 14px;display:flex}.availability-slot-booked{border-left-color:var(--castle-gold);background:var(--castle-warm)}.availability-slot-open{border-left-color:var(--castle-tan)}.availability-slot-time{color:var(--castle-dark);min-width:100px;font-weight:500}.availability-slot-status{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);flex:1;font-size:11px}.availability-slot-booked-by{color:var(--castle-gold-light);flex:1;font-size:13px;text-decoration:none}.availability-slot-booked-by:hover{color:var(--castle-dark)}.public-tour-page{background:radial-gradient(circle at 20% 20%, #9c8a7614, transparent 50%), radial-gradient(circle at 80% 80%, #9c8a760f, transparent 50%), var(--castle-warm);justify-content:center;align-items:flex-start;min-height:100vh;padding:60px 20px 40px;display:flex}.public-tour-card{background:var(--white);width:100%;max-width:540px;padding:56px 52px 48px;position:relative;box-shadow:0 24px 60px #1a1a1a1a,0 4px 16px #1a1a1a0a}.public-tour-card:before{content:"";background:var(--castle-gold);height:3px;position:absolute;top:0;left:0;right:0}.public-tour-slots{flex-direction:column;gap:18px;margin-bottom:28px;display:flex}.public-tour-day-header{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:18px;font-weight:600}.public-tour-day-times{flex-wrap:wrap;gap:8px;display:flex}.public-tour-time{background:var(--castle-cream);border:1px solid var(--border);font-family:var(--font-montserrat), "Montserrat", sans-serif;color:var(--castle-dark);cursor:pointer;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s}.public-tour-time:hover{border-color:var(--castle-gold);background:var(--white)}.public-tour-time-selected,.public-tour-time-selected:hover{background:var(--castle-dark);color:var(--castle-cream);border-color:var(--castle-dark)}.public-tour-form{border-top:1px solid var(--border);padding-top:24px}.public-tour-selection{background:var(--castle-warm);border-left:3px solid var(--castle-gold);color:var(--castle-dark);margin-bottom:24px;padding:12px 16px;font-size:14px}.public-tour-selection-label{color:var(--text-secondary);letter-spacing:.5px;font-size:12px}.public-tour-confirm-note{text-align:center;color:var(--text-secondary);margin-top:8px;font-size:13px;line-height:1.5}.day-cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.day-card{background:var(--white);border:1px solid var(--border);flex-direction:column;gap:14px;padding:20px;display:flex}.day-card-off{background:var(--castle-cream);opacity:.78}.day-card-active{border-left:3px solid var(--castle-gold)}.day-card-header{justify-content:space-between;align-items:center;display:flex}.day-card-name{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);font-size:22px;font-weight:600}.day-card-toggle{cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.day-card-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--castle-dark);cursor:pointer}.day-card-fields{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.day-card-field{flex-direction:column;min-width:0;display:flex}.day-card-field-slot{grid-column:1/-1;max-width:130px}.day-card-field-slot .form-input{text-align:center;padding-left:8px;padding-right:8px}.day-card-field .form-label{white-space:nowrap;margin-bottom:4px}.day-card-field .form-input{padding:8px 10px;font-size:13px}.day-card-preview{color:var(--text-secondary);background:var(--castle-warm);border-left:2px solid var(--castle-gold);padding:10px 12px;font-size:12px;line-height:1.4}.day-card-preview-label{color:var(--castle-dark);font-weight:600}.day-card-actions{align-items:center;gap:8px;display:flex}.booking-list{margin:0;padding:0;list-style:none}.booking-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.booking-item:last-child{border-bottom:none}.booking-item-name{color:var(--castle-dark);font-size:15px;font-weight:500}.booking-item-when{color:var(--text-secondary);margin-top:2px;font-size:13px}.contact-message-input{resize:vertical;min-height:100px;font-family:var(--font-montserrat), "Montserrat", sans-serif}.project-event-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.project-event-item{background:var(--castle-cream);border-left:3px solid var(--castle-gold);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.project-event-item-editing{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--castle-gold);padding:20px;display:block}.project-event-item-main{flex:1;min-width:0}.project-event-item-name{color:var(--castle-dark);flex-wrap:wrap;align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}.project-event-item-meta{color:var(--text-secondary);margin-top:4px;font-size:13px}.project-event-item-notes{color:var(--text-muted);margin-top:6px;font-size:12px;font-style:italic}.project-event-form{width:100%}.upcoming-row-event-name{color:var(--text-muted);font-size:13px;font-weight:400}.panel-subheader{letter-spacing:1.5px;text-transform:uppercase;color:var(--castle-gold);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:11px;font-weight:500}.weather-chip{background:var(--castle-cream);border:1px solid var(--castle-tan);color:var(--castle-dark);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:12px;line-height:1.2;display:inline-flex}.weather-chip-icon{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,EmojiOne,sans-serif;font-size:15px;line-height:1}.weather-chip-temp{font-variant-numeric:tabular-nums}.weather-chip-when{color:var(--text-muted);margin-left:2px;font-size:11px}.weather-chip-hourly{background:var(--castle-warm);border-color:var(--castle-tan)}.project-event-item-weather{margin-top:8px}.project-event-details-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:14px;display:grid}.project-event-detail-label{letter-spacing:2px;text-transform:uppercase;color:var(--castle-gold);margin-bottom:4px;font-size:10px;font-weight:500}.project-event-detail-value{color:var(--castle-dark);font-size:15px;font-weight:500;line-height:1.3}.event-weather-section{background:var(--white);border:1px solid var(--border);margin-top:14px;padding:10px 12px}.event-weather-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.event-weather-heading>span:first-child{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:600}.event-weather-summary{color:var(--text-secondary);letter-spacing:.2px;font-size:11px;font-weight:400}.event-weather-grid{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:4px;display:grid}.event-weather-cell{text-align:center;background:var(--castle-cream);border:1px solid var(--border);padding:6px 4px}.event-weather-cell-event{border-color:var(--castle-gold);background:var(--castle-warm)}.event-weather-cell-time{color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:500}.event-weather-cell-event .event-weather-cell-time{color:var(--castle-dark);font-weight:600}.event-weather-cell-icon{margin-bottom:2px;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:16px;line-height:1}.event-weather-cell-temp{color:var(--castle-dark);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.event-weather-cell-cond{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:9px;overflow:hidden}.event-weather-cell-wind{color:var(--text-secondary);border-top:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;padding-top:2px;font-size:9px;overflow:hidden}.event-weather-daily-only{color:var(--castle-dark);font-size:12px}.contact-choice-grid{flex-direction:column;gap:12px;margin-top:8px;display:flex}.contact-choice{background:var(--castle-cream);border:1px solid var(--border);border-left:3px solid var(--castle-tan);text-align:left;cursor:pointer;font-family:var(--font-montserrat), "Montserrat", sans-serif;padding:20px 22px;transition:border-color .15s,background .15s}.contact-choice:hover{border-color:var(--castle-gold);border-left-color:var(--castle-gold);background:var(--castle-warm)}.contact-choice-title{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);margin-bottom:4px;font-size:20px;font-weight:600}.contact-choice-sub{color:var(--text-secondary);font-size:13px;line-height:1.45}.contact-back-link{font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--castle-gold-light);cursor:pointer;background:0 0;border:none;margin:0 0 12px;padding:0;font-size:11px;font-weight:500}.contact-back-link:hover{color:var(--castle-dark)}.panel-header-hint{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.inbox-row{border-bottom:1px solid var(--border);color:inherit;align-items:flex-start;gap:12px;margin:0 -16px;padding:14px 16px;text-decoration:none;transition:background .12s;display:flex}.inbox-row:hover{background:var(--castle-warm)}.inbox-row:last-child{border-bottom:none}.inbox-row-dot-wrap{flex-shrink:0;width:10px;padding-top:6px}.inbox-row-dot{background:var(--castle-gold);border-radius:50%;width:8px;height:8px;display:block}.inbox-row-main{flex:1;min-width:0}.inbox-row-from{color:var(--castle-dark);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:14px;font-weight:500;overflow:hidden}.inbox-row-project{color:var(--text-muted);font-weight:400}.inbox-row-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:13px;overflow:hidden}.inbox-row-meta{align-items:center;gap:8px;font-size:11px;display:flex}.inbox-row-channel{letter-spacing:1px;text-transform:uppercase;padding:2px 6px;font-weight:600}.inbox-row-channel-email{background:var(--castle-warm);color:var(--castle-dark)}.inbox-row-channel-sms{color:#1e40af;background:#dbeafe}.inbox-row-direction{color:var(--text-muted);font-style:italic}.inbox-row-time{color:var(--text-muted);margin-left:auto}.pub-cal{margin-bottom:28px}.pub-cal-header{justify-content:space-between;align-items:center;padding:0 0 16px;display:flex}.pub-cal-month{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);font-size:22px;font-weight:600}.pub-cal-nav{background:var(--castle-cream);border:1px solid var(--border);cursor:pointer;color:var(--castle-dark);padding:6px 14px;font-size:16px;line-height:1;transition:background .15s,border-color .15s}.pub-cal-nav:hover{background:var(--castle-warm);border-color:var(--castle-gold)}.pub-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.pub-cal-weekday{text-align:center;letter-spacing:2px;text-transform:uppercase;color:var(--castle-gold);padding:8px 0;font-size:10px;font-weight:500}.pub-cal-cell{aspect-ratio:1;background:var(--castle-cream);cursor:default;font-family:var(--font-montserrat), "Montserrat", sans-serif;color:var(--text-muted);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;padding:0;font-size:13px;transition:background .15s,border-color .15s,color .15s;display:flex;position:relative}.pub-cal-cell-other-month{color:#0000;cursor:default;background:0 0}.pub-cal-cell-other-month .pub-cal-day{visibility:hidden}.pub-cal-cell-available{cursor:pointer;color:var(--castle-dark);background:var(--white);border-color:var(--border);font-weight:500}.pub-cal-cell-available:hover{background:var(--castle-warm);border-color:var(--castle-gold)}.pub-cal-cell-selected,.pub-cal-cell-selected:hover{background:var(--castle-dark);color:var(--castle-cream);border-color:var(--castle-dark)}.pub-cal-day{line-height:1}.pub-cal-dot{background:var(--castle-gold);border-radius:50%;width:4px;height:4px;margin-top:4px}.pub-cal-cell-selected .pub-cal-dot{background:var(--castle-cream)}.pub-times{border-top:1px solid var(--border);margin-bottom:28px;padding-top:20px}.pub-times-header{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);margin-bottom:12px;font-size:18px;font-weight:600}.status-page-header{background:var(--white);border:1px solid var(--border);padding:24px 32px}.status-page-title{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);font-size:28px;font-weight:600;line-height:1.2}.status-page-sub{color:var(--text-secondary);margin-top:4px;font-size:13px}.status-tabs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:20px;display:grid}.status-tab{background:var(--white);border:1px solid var(--border);text-align:center;min-height:46px;line-height:1.3;font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:8px 12px;font-size:11px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:flex}.status-tab:hover{color:var(--castle-dark);border-color:var(--castle-dark)}.status-tab-active{background:var(--castle-dark);color:var(--castle-cream);border-color:var(--castle-dark)}.panel-header-actions{align-items:center;gap:16px;display:flex}.sort-select,.bulk-action-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b6b6b' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.sort-select{width:220px}.bulk-action-bar{background:var(--castle-warm);border-bottom:1px solid var(--castle-tan);align-items:center;gap:14px;padding:14px 24px;display:flex}.bulk-action-count{color:var(--castle-dark);letter-spacing:.3px;font-size:13px;font-weight:500}.bulk-action-select{background-color:var(--white);width:220px}.event-row-selectable{align-items:center;padding:14px 0}.event-row-selected{background:var(--castle-warm)}.event-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--castle-dark);flex-shrink:0;margin-right:14px}.activity-row{border-bottom:1px solid var(--border);color:inherit;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 -16px;padding:14px 16px;text-decoration:none;transition:background .12s;display:flex}.activity-row:hover{background:var(--castle-warm)}.activity-row:first-child{padding-top:6px}.activity-row:last-child{border-bottom:none}.activity-row-main{flex:1;min-width:0}.activity-row-title{color:var(--castle-dark);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:15px;font-weight:500;overflow:hidden}.activity-row-description{color:var(--text-secondary);margin-bottom:4px;font-size:13px;line-height:1.4}.activity-row-byline{color:var(--text-muted);letter-spacing:.3px;font-size:11px}.activity-row-time{color:var(--text-muted);flex-shrink:0;padding-top:2px;font-size:12px;font-style:italic}.activity-pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.activity-pagination-info{letter-spacing:.5px;color:var(--text-secondary);font-size:12px}.template-editor{margin-bottom:8px}.template-editor-grid{grid-template-columns:minmax(0,1fr) 320px;gap:24px;display:grid}@media (max-width:900px){.template-editor-grid{grid-template-columns:1fr}}.template-editor-form{min-width:0}.template-editor-side{flex-direction:column;gap:20px;display:flex}.template-side-section{background:var(--surface,#fff);border:1px solid var(--border);border-radius:10px;padding:14px}.template-side-heading{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:700}.template-side-sub{color:var(--text-secondary);margin-bottom:10px;font-size:12px;line-height:1.4}.merge-tag-grid{flex-wrap:wrap;gap:6px;display:flex}.merge-tag-chip{border:1px solid var(--border);color:#374151;cursor:pointer;background:#f3f4f6;border-radius:999px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;transition:background .12s,border-color .12s}.merge-tag-chip:hover{background:#e5e7eb;border-color:#9ca3af}.template-preview{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.template-preview-subject{border-bottom:1px solid var(--border);background:#f9fafb;padding:10px 12px}.template-preview-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:2px;font-size:10px;display:block}.template-preview-body{color:var(--text-primary);max-height:320px;padding:14px 12px;font-size:13px;line-height:1.5;overflow-y:auto}.template-preview-body p{margin:0 0 10px}.template-preview-body p:last-child{margin-bottom:0}.form-label-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.merge-tag-picker{display:inline-block;position:relative}.merge-tag-picker-btn{color:var(--text-primary);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.merge-tag-picker-btn:hover{background:#f9fafb;border-color:#9ca3af}.merge-tag-picker-btn[aria-expanded=true]{background:#f3f4f6;border-color:#6b7280;box-shadow:0 0 0 3px #6b72801f}.merge-tag-picker-btn-sm{padding:4px 8px;font-size:11px}.merge-tag-picker-plus{color:#6b7280;font-size:14px;font-weight:700;line-height:1}.merge-tag-picker-caret{color:#9ca3af;margin-left:2px;font-size:10px}.merge-tag-dropdown{border:1px solid var(--border);z-index:50;background:#fff;border-radius:8px;min-width:260px;max-height:360px;padding:6px 0;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 10px 24px #00000014,0 2px 6px #0000000a}.merge-tag-group{padding:4px 0}.merge-tag-group+.merge-tag-group{border-top:1px solid #f3f4f6;margin-top:2px;padding-top:6px}.merge-tag-group-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);padding:4px 12px;font-size:10px;font-weight:700}.merge-tag-option{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;font-size:13px;transition:background .1s;display:flex}.merge-tag-option:hover{background:#f3f4f6}.merge-tag-option-label{font-weight:500}.merge-tag-option-literal{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.automation-table{flex-direction:column;display:flex}.automation-table-head,.automation-table-row{border-bottom:1px solid var(--border);grid-template-columns:2fr 2fr 110px 70px 130px 130px;align-items:center;gap:16px;padding:12px 8px;display:grid}.automation-table-head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);padding-top:4px;padding-bottom:8px;font-size:10px;font-weight:700}.automation-table-runs{text-align:center}.automation-row-name{color:var(--text-primary);font-weight:600;text-decoration:none}.automation-row-name:hover{text-decoration:underline}.automation-row-desc{color:var(--text-secondary);margin-top:2px;font-size:12px}.automation-row-trigger{color:var(--text-primary);font-size:13px}.automation-row-updated{color:var(--text-secondary);font-size:12px}.automation-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.automation-editor-header-left{flex:1;min-width:280px}.back-link{color:var(--text-secondary);margin-bottom:6px;font-size:12px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--text-primary)}.automation-editor-name{width:100%;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:6px;margin:0 0 0 -8px;padding:4px 8px;font-size:26px;font-weight:700;transition:background .12s,border-color .12s}.automation-editor-name:hover{background:#f9fafb}.automation-editor-name:focus{border-color:var(--border);background:#fff;outline:none}.automation-editor-header-right{align-items:center;gap:14px;display:flex}.automation-flow{flex-direction:column;align-items:center;gap:0;max-width:640px;margin:24px auto 80px;display:flex}.automation-card{border:1px solid var(--border);background:#fff;border-radius:12px;width:100%;padding:14px 16px;transition:border-color .12s,box-shadow .12s;box-shadow:0 1px 3px #0000000a}.automation-card:hover{border-color:#9ca3af;box-shadow:0 4px 12px #0000000f}.automation-card-trigger{border-left:3px solid #f97316}.automation-card-action{border-left:3px solid #6366f1}.automation-card-wait{border-left:3px solid #94a3b8}.automation-card-head{align-items:center;gap:12px;display:flex}.automation-card-icon{background:#f3f4f6;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.automation-card-icon-trigger{color:#9a3412;background:#ffedd5}.automation-card-icon-action{color:#3730a3;background:#e0e7ff}.automation-card-icon-wait{color:#475569;background:#f1f5f9}.automation-card-title-block{flex:1;min-width:0}.automation-card-kind{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);font-size:10px;font-weight:700}.automation-card-title{color:var(--text-primary);word-wrap:break-word;margin-top:1px;font-size:15px;font-weight:600}.automation-card-actions{align-items:center;gap:4px;display:flex}.automation-icon-btn{border:1px solid var(--border);cursor:pointer;width:24px;height:24px;color:var(--text-secondary);background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:10px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.automation-icon-btn:hover:not(:disabled){color:var(--text-primary);background:#f3f4f6;border-color:#9ca3af}.automation-icon-btn:disabled{opacity:.35;cursor:not-allowed}.automation-card-body{border-top:1px solid #f3f4f6;margin-top:14px;padding-top:14px}.automation-insert{justify-content:center;align-items:center;width:100%;height:36px;display:flex;position:relative}.automation-insert:before{content:"";background:#d1d5db;width:1px;position:absolute;top:0;bottom:0;left:50%}.automation-insert-btn{z-index:1;color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:50%;width:26px;height:26px;font-size:14px;font-weight:600;line-height:1;transition:background .12s,color .12s,border-color .12s,transform .1s;position:relative}.automation-insert-btn:hover{color:#fff;background:#4f46e5;border-color:#4f46e5;transform:scale(1.1)}.automation-insert-menu{z-index:50;border:1px solid var(--border);background:#fff;border-radius:10px;min-width:280px;padding:6px;position:absolute;top:calc(50% + 18px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000001a}.automation-insert-menu-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);padding:6px 8px 4px;font-size:10px;font-weight:700}.automation-insert-option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:flex-start;gap:10px;width:100%;padding:8px;transition:background .1s;display:flex}.automation-insert-option:hover{background:#f3f4f6}.automation-insert-option-label{color:var(--text-primary);font-size:13px;font-weight:600;display:block}.automation-insert-option-desc{color:var(--text-secondary);margin-top:1px;font-size:11px;line-height:1.4;display:block}.automation-end{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);background:#f3f4f6;border-radius:999px;margin-top:6px;padding:6px 14px;font-size:11px}.checkbox-chip-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.checkbox-chip{border:1px solid var(--border);cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;display:inline-flex}.checkbox-chip input{margin:0}.checkbox-chip:has(input:checked){color:#3730a3;background:#eef2ff;border-color:#6366f1}.form-help{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.4}.form-row{flex-wrap:wrap;gap:12px;display:flex}.wait-tabs{background:#f3f4f6;border-radius:8px;gap:2px;margin-bottom:12px;padding:3px;display:inline-flex}.wait-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .12s,color .12s,box-shadow .12s}.wait-tab:hover{color:var(--text-primary)}.wait-tab-active{color:var(--text-primary);background:#fff;box-shadow:0 1px 2px #0000000f}.report-table{flex-direction:column;display:flex}.report-table-head,.report-table-row{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr 160px;align-items:center;gap:16px;padding:12px 8px;display:grid}.report-table-head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);padding-top:4px;padding-bottom:8px;font-size:10px;font-weight:700}.report-row-name{color:var(--text-primary);font-weight:600;text-decoration:none}.report-row-name:hover{text-decoration:underline}.report-row-desc{color:var(--text-secondary);margin-top:2px;font-size:12px}.report-row-entity{color:var(--text-primary);font-size:13px}.report-row-updated{color:var(--text-secondary);font-size:12px}.report-main{max-width:none}.report-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.report-editor-header-left{flex:1;min-width:280px}.report-editor-header-right{align-items:center;gap:10px;display:flex}.report-editor-name{width:100%;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:6px;margin:0 0 0 -8px;padding:4px 8px;font-size:26px;font-weight:700;transition:background .12s,border-color .12s}.report-editor-name:hover{background:#f9fafb}.report-editor-name:focus{border-color:var(--border);background:#fff;outline:none}.report-builder{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:18px;margin-bottom:20px;padding:16px;display:flex}.report-builder-section{flex-direction:column;gap:8px;display:flex}.report-builder-heading{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);font-size:11px;font-weight:700}.report-selected-cols{flex-wrap:wrap;gap:6px;min-height:28px;margin-bottom:8px;display:flex}.report-col-chip{color:#312e81;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;gap:4px;padding:4px 4px 4px 10px;font-size:12px;display:inline-flex}.report-col-chip-label{font-weight:500}.report-col-chip-btn{color:#6366f1;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.report-col-chip-btn:hover:not(:disabled){background:#c7d2fe}.report-col-chip-btn:disabled{opacity:.3;cursor:not-allowed}.report-col-chip-btn-x{color:#dc2626;font-size:14px}.report-col-chip-btn-x:hover{background:#fecaca}.column-picker-dropdown{min-width:300px;max-height:420px}.report-col-option-selected{background:#f0f9ff}.filter-row{border-bottom:1px solid #f3f4f6;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.filter-row-field{color:var(--text-primary);min-width:140px;font-size:13px;font-weight:600}.filter-row-op{flex:none;max-width:200px}.filter-row-value{flex:1;min-width:220px}.filter-row-no-value{color:var(--text-secondary);font-size:13px}.filter-add-row{align-items:center;gap:8px;margin-top:8px;display:flex}.report-result{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.report-result-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.report-result-summary{color:var(--text-primary);font-size:13px}.report-truncated{color:#b91c1c;font-weight:600}.report-result-table-wrap{max-height:70vh;overflow:auto}.report-result-table{border-collapse:collapse;width:100%;font-size:13px}.report-th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);border-bottom:1px solid var(--border);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f9fafb;padding:10px 12px;font-size:11px;font-weight:700;position:sticky;top:0}.report-th:hover{color:var(--text-primary);background:#f3f4f6}.report-td{vertical-align:top;white-space:nowrap;color:var(--text-primary);border-bottom:1px solid #f3f4f6;padding:8px 12px}.report-td-text{white-space:normal;max-width:480px}.report-td-number{text-align:right;font-variant-numeric:tabular-nums}.report-td-boolean{text-align:center}.report-empty-cell{text-align:center;color:var(--text-secondary);padding:32px;font-style:italic}.print-only{display:none}@media print{body,.app-with-sidebar{background:#fff!important}.side-nav,.app-header,.no-print{display:none!important}.app-with-sidebar{margin-left:0!important;padding:0!important}.app-main{max-width:none!important;padding:16px!important}.print-only{display:block}.report-result{box-shadow:none;border:none}.report-result-table-wrap{max-height:none!important;overflow:visible!important}.report-result-table{font-size:11px}.report-th{-webkit-print-color-adjust:exact;print-color-adjust:exact;position:static;color:#000!important;background:#f3f4f6!important}.report-td{white-space:normal}.report-print-header{border-bottom:2px solid #000;margin-bottom:12px;padding-bottom:10px}.report-print-title{color:#000;font-size:20px;font-weight:700}.report-print-desc{color:#333;margin-top:4px;font-size:12px}.report-print-meta{color:#555;margin-top:6px;font-size:10px}}.modal-backdrop{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:460px;max-height:calc(100vh - 80px);padding:24px;overflow-y:auto;box-shadow:0 20px 60px #0003}.product-groups{flex-direction:column;gap:24px;display:flex}.product-group{flex-direction:column;display:flex}.product-group-heading{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 0 6px 4px;font-size:11px;font-weight:700}.product-item{align-items:flex-start;gap:14px}.product-thumb{border:1px solid var(--border);background:#f3f4f6;border-radius:8px;flex-shrink:0;width:56px;height:56px;overflow:hidden}.product-thumb img{object-fit:cover;width:100%;height:100%;display:block}.product-inclusions-display{color:var(--text-secondary);margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.6}.product-inclusions-edit{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.product-inclusions-edit li{border:1px solid var(--border);background:#f9fafb;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.product-inclusion-text{color:var(--text-primary);flex:1;font-size:13px}.product-archived-section{border-top:1px solid var(--border);padding-top:16px}.business-logo-preview{border:1px dashed var(--border);background:#f9fafb;border-radius:8px;margin-top:10px;padding:14px;display:inline-block}.business-logo-preview img{max-width:280px;max-height:96px;display:block}.invoice-number-preview{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.invoice-number-preview-label{color:#3730a3;font-size:12px;font-weight:500}.invoice-number-preview-value{color:#1e1b4b;background:#fff;border:1px solid #c7d2fe;border-radius:6px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:600}.dashboard-pair{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:960px){.dashboard-pair{grid-template-columns:1fr}}.upcoming-tour-pill{color:#115e59;text-transform:uppercase;letter-spacing:.6px;background:#ccfbf1;border-radius:999px;flex-shrink:0;align-items:center;margin-right:10px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.calendar-event-tour{color:#115e59;background:#ccfbf1;border-left:3px solid #14b8a6}.calendar-filter-tour-on{color:#115e59;background:#ccfbf1;border-color:#14b8a6}.proposal-row-name{color:var(--text-primary);font-weight:600;text-decoration:none}.proposal-row-name:hover{text-decoration:underline}.proposal-status-tag{letter-spacing:.5px;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.proposal-status-draft{color:#374151;background:#f3f4f6}.proposal-status-sent{color:#1e40af;background:#dbeafe}.proposal-status-viewed{color:#3730a3;background:#e0e7ff}.proposal-status-accepted{color:#92400e;background:#fef3c7}.proposal-status-paid{color:#166534;background:#dcfce7}.proposal-status-void{color:#991b1b;background:#fee2e2}.proposal-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.proposal-editor-title-row{align-items:center;gap:14px;margin-top:4px;display:flex}.proposal-editor-title{color:var(--text-primary);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px;font-weight:700}.proposal-status-select{text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.proposal-editor-header-actions{align-items:center;gap:10px;display:flex}.proposal-snapshot-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (max-width:720px){.proposal-snapshot-grid{grid-template-columns:1fr}}.proposal-snapshot-card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:14px 16px}.proposal-snapshot-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:4px;font-size:10px;font-weight:700}.proposal-snapshot-name{color:var(--text-primary);font-size:15px;font-weight:600}.proposal-snapshot-line{color:var(--text-secondary);margin-top:2px;font-size:13px}.proposal-line-head,.proposal-line-row{grid-template-columns:minmax(0,1fr) 80px 100px 110px 110px 60px;align-items:center;gap:10px;padding:10px 4px;display:grid}.proposal-line-head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);border-bottom:1px solid var(--border);padding-top:4px;font-size:10px;font-weight:700}.proposal-line-num{text-align:right}.proposal-line-list{margin:0;padding:0;list-style:none}.proposal-line-item{border-bottom:1px solid #f3f4f6;margin-bottom:8px;padding-bottom:8px}.proposal-line-row{align-items:start}.proposal-line-row-sub{background:#fafafa;border-radius:6px;padding-left:24px}.proposal-line-main{flex-direction:column;gap:6px;min-width:0;display:flex}.proposal-line-name-input{color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:4px 6px;font-size:14px;font-weight:600}.proposal-line-name-input:hover{background:#f9fafb}.proposal-line-name-input:focus{border-color:var(--border);background:#fff;outline:none}.proposal-line-num-input{text-align:right;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:4px 6px;font-size:13px}.proposal-line-num-input:hover{background:#f9fafb}.proposal-line-num-input:focus{border-color:var(--border);background:#fff;outline:none}.proposal-line-total{font-size:14px;font-weight:600}.proposal-line-thumb{border:1px solid var(--border);background:#f3f4f6;border-radius:6px;width:48px;height:48px;overflow:hidden}.proposal-line-thumb img{object-fit:cover;width:100%;height:100%;display:block}.proposal-line-inclusions{color:var(--text-secondary);margin:4px 0 0;padding-left:22px;font-size:12px;line-height:1.5;list-style:outside}.proposal-line-desc{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.5}.proposal-line-detail-form{flex-direction:column;gap:8px;margin-top:6px;display:flex}.proposal-line-detail-toggle{align-self:flex-start;font-size:11px}.proposal-line-sublist{margin:8px 0 0;padding:0;list-style:none}.proposal-add-subitem{align-items:center;gap:12px;margin-top:8px;padding-left:24px;display:flex}.proposal-add-item{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:16px;padding-top:12px;display:flex}.product-picker{flex:1;min-width:240px;position:relative}.product-picker-sm{min-width:200px}.product-picker-input{width:100%}.product-picker-menu{z-index:50;border:1px solid var(--border);background:#fff;border-radius:8px;max-height:320px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #0000001a}.product-picker-option{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .1s;display:flex}.product-picker-option:hover{background:#f3f4f6}.product-picker-thumb{border:1px solid var(--border);background:#f3f4f6;border-radius:6px;flex-shrink:0;width:36px;height:36px;overflow:hidden}.product-picker-thumb img{object-fit:cover;width:100%;height:100%;display:block}.product-picker-info{flex:1;min-width:0}.product-picker-name{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.product-picker-subitems-badge{color:#3730a3;letter-spacing:.3px;background:#eef2ff;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.product-picker-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.product-picker-price{color:var(--text-primary);font-size:13px;font-weight:600}.proposal-totals{border:1px solid var(--border);background:#f9fafb;border-radius:8px;max-width:360px;margin-top:16px;margin-left:auto;padding:14px 18px}.proposal-totals-row{justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.proposal-totals-grand{border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-size:17px;font-weight:700}.proposal-payment-head,.proposal-payment-row{grid-template-columns:1fr 1fr 1fr 1fr 1.2fr 60px;align-items:center;gap:8px;padding:8px 0;display:grid}.proposal-payment-head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:10px;font-weight:700}.proposal-payment-list{margin:0;padding:0;list-style:none}.proposal-payment-row{border-bottom:1px solid #f3f4f6}.proposal-payment-paid-cell{color:var(--text-secondary);font-size:13px}.proposal-payment-status{font-size:12px;font-weight:600}.proposal-payment-summary{border-top:1px solid var(--border);justify-content:flex-end;gap:24px;margin-top:12px;padding-top:12px;font-size:13px;display:flex}.invoice-preview-page{background:#f9fafb;min-height:100vh;padding:40px 20px}.invoice-preview-card{background:#fff;border-radius:12px;max-width:800px;margin:0 auto;padding:48px 56px;box-shadow:0 4px 16px #0000000f}.invoice-header{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}.invoice-header-brand{align-items:flex-start;gap:18px;display:flex}.invoice-business-name{color:var(--text-primary);font-size:16px;font-weight:700}.invoice-business-line{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.5}.invoice-title{color:var(--text-primary);margin:0 0 28px;font-size:32px;font-weight:700}.invoice-meta-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.invoice-meta-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:4px;font-size:10px;font-weight:700}.invoice-meta-value{color:var(--text-primary);font-size:14px;font-weight:600}.invoice-meta-line{color:var(--text-primary);margin-top:2px;font-size:13px}.invoice-meta-spacer{margin-top:14px}.invoice-project-details{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:24px;padding:14px 0}.invoice-line-head{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);grid-template-columns:minmax(0,1fr) 80px 80px 100px 100px;gap:12px;padding:12px 0 8px;font-size:10px;font-weight:700;display:grid}.invoice-line-block{border-bottom:1px solid #f3f4f6;padding:16px 0}.invoice-line-row{grid-template-columns:minmax(0,1fr) 80px 80px 100px 100px;align-items:start;gap:12px;display:grid}.invoice-line-row-sub{border-top:1px solid #f9fafb;margin-top:10px;padding:10px 0 0 24px}.invoice-line-num{text-align:right;color:var(--text-primary);font-size:13px}.invoice-line-total-cell{font-weight:700}.invoice-line-name{color:var(--text-primary);font-size:15px;font-weight:700}.invoice-line-inclusions{color:var(--text-primary);margin:8px 0 0;padding-left:28px;font-size:13px;line-height:1.7;list-style:outside}.invoice-line-refundable-note{color:var(--text-secondary);margin-top:8px;font-size:12px;font-style:italic}.invoice-totals{max-width:320px;margin-top:24px;margin-left:0;margin-right:auto;padding-top:16px}.invoice-totals-row{justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.invoice-totals-grand{border-top:1px solid var(--text-primary);margin-top:8px;padding:10px 0;font-size:18px;font-weight:700}.invoice-payments{background:#f9fafb;border-radius:12px;margin-top:40px;padding:24px}.invoice-payments-heading{text-transform:uppercase;letter-spacing:.8px;color:var(--text-primary);margin-bottom:14px;font-size:11px;font-weight:700}.invoice-payments-head,.invoice-payments-row{grid-template-columns:1fr 1.2fr 1.2fr 1.2fr 1fr;gap:12px;padding:10px 0;display:grid}.invoice-payments-head{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:10px;font-weight:700}.invoice-payments-row{border-bottom:1px solid #0000000a;font-size:13px}.invoice-payment-status{font-size:12px;font-weight:600}.invoice-payment-status-deposited{color:#16a34a}.invoice-payment-status-overdue{color:#dc2626}.invoice-payment-status-refunded{color:#6b7280}.invoice-notes{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.invoice-print-row{text-align:right;max-width:800px;margin:16px auto 0}@media print{.invoice-print-row{display:none}.invoice-preview-page{background:#fff;padding:0}.invoice-preview-card{box-shadow:none;max-width:100%;padding:24px}}.project-event-wrapper{margin-bottom:16px;list-style:none}.event-line-items-section{border:1px solid var(--border);background:#fafafa;border-radius:0 0 10px 10px;margin-top:-1px;padding:14px 18px}.event-line-items-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.event-line-items-heading{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);font-size:11px;font-weight:700}.event-line-items-subtotal{color:var(--text-primary);font-size:14px;font-weight:700}.invoice-tab-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.invoice-tab-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);font-size:10px;font-weight:700}.invoice-tab-number{color:var(--text-primary);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:700}.invoice-tab-header-actions{align-items:center;gap:10px;display:flex}.invoice-tab-event-section{border-bottom:1px solid #f3f4f6;padding:14px 0}.invoice-tab-event-section:last-child{border-bottom:none}.invoice-tab-event-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.invoice-tab-event-name{color:var(--text-primary);font-size:15px;font-weight:700}.invoice-tab-event-meta{color:var(--text-secondary);margin-top:2px;font-size:12px}.invoice-tab-event-subtotal{color:var(--text-primary);font-size:15px;font-weight:700}.invoice-tab-line-list{margin:0;padding:0;list-style:none}.invoice-tab-line-row{color:var(--text-primary);grid-template-columns:minmax(0,1fr) 60px 60px 90px 90px;gap:12px;padding:4px 0;font-size:13px;display:grid}.invoice-tab-line-qty,.invoice-tab-line-price,.invoice-tab-line-total{text-align:right}.invoice-tab-line-total{font-weight:600}.invoice-event-section:first-of-type{border-top:none;padding-top:0}.invoice-event-header{margin-bottom:8px}.invoice-event-title{color:var(--text-primary);font-size:18px;font-weight:700}.invoice-event-meta{color:var(--text-secondary);margin-top:2px;font-size:13px}.version-save-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.version-save-row .form-input{flex:1}.version-list{margin:0;padding:0;list-style:none}.version-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.version-row:last-child{border-bottom:none}.version-row-main{flex:1;min-width:0}.version-row-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.version-row-number{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700}.version-row-trigger{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:11px}.version-row-label{color:var(--text-primary);margin-top:4px;font-size:13px;font-style:italic}.version-row-meta{color:var(--text-secondary);margin-top:4px;font-size:12px}.invoice-version-banner{color:#78350f;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;max-width:800px;margin:0 auto 16px;padding:12px 20px;font-size:13px;display:flex}.invoice-version-banner .btn-link{color:#78350f}@media print{.invoice-version-banner{display:none}}.invoice-banner{border:1px solid var(--border);background:#f9fafb;border-radius:8px;margin:8px 0 16px;padding:10px 14px;font-size:13px}.invoice-banner-sent{color:#1e3a8a;background:#dbeafe;border-color:#93c5fd}.invoice-banner-viewed{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.invoice-banner-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.invoice-banner-row .btn-link{color:inherit}.invoice-view-log{border-top:1px solid #0000001a;margin:10px 0 0;padding:10px 0 0;font-size:12px;list-style:none}.invoice-view-log li{padding:4px 0}.invoice-view-time{font-weight:600}.invoice-view-meta{color:#0000008c}.invoice-accept-section{border-top:2px solid var(--border);text-align:center;margin-top:40px;padding-top:24px}.invoice-accept-btn{border-radius:999px;padding:12px 32px;font-size:15px}.invoice-accept-confirm{text-align:left;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;max-width:420px;margin:0 auto;padding:14px 16px;font-size:13px}.invoice-accepted-banner{color:#065f46;background:#dcfce7;border:1px solid #6ee7b7;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-block}.msg-track-badge{letter-spacing:.3px;border-radius:999px;margin:0 4px;padding:2px 7px;font-size:10px;font-weight:600;line-height:1.4;display:inline-block}.msg-track-sent{color:#6b7280;background:#f3f4f6}.msg-track-delivered{color:#1e3a8a;background:#dbeafe}.msg-track-opened{color:#065f46;background:#d1fae5}.msg-track-clicked{color:#3730a3;background:#c7d2fe}.msg-track-bounced{color:#991b1b;background:#fee2e2}.msg-track-complained{color:#92400e;background:#fef3c7}:root{--brand-black:#2c2c2c;--brand-gold:#9c8a76;--brand-gold-light:#c4b09a;--brand-cream:#fffdf9;--invoice-bg:var(--brand-cream);--invoice-accent:var(--brand-gold);--invoice-accent-soft:var(--brand-gold-light);--invoice-accent-bg:#f7f1e6;--invoice-paper:#fff;--invoice-ink:var(--brand-black);--invoice-ink-soft:#5c5c5c;--font-display:var(--font-cormorant), Georgia, "Times New Roman", serif;--font-body:var(--font-montserrat), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{font-family:var(--font-body)}.invoice-preview-page{background-color:var(--invoice-bg);min-height:100vh;padding:48px 20px}.invoice-preview-card{background:var(--invoice-paper);background-image:url(/logo-black.png);background-position:calc(100% + 80px) calc(100% + 60px);background-repeat:no-repeat;background-size:420px;border:1px solid #0000000a;border-radius:14px;padding:64px 72px;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000014,0 2px 6px #0000000a}.invoice-preview-card:after{content:"";pointer-events:none;z-index:0;background:#ffffffed;position:absolute;inset:0}.invoice-preview-card>*{z-index:1;position:relative}.invoice-preview-card:before{content:"";background:linear-gradient(90deg, var(--invoice-accent) 0%, var(--invoice-accent-soft) 50%, var(--invoice-accent) 100%);z-index:2;height:4px;position:absolute;top:0;left:0;right:0}.invoice-header{border-bottom:1px solid var(--invoice-accent-soft);align-items:center;margin-bottom:32px;padding-bottom:24px}.invoice-logo{object-fit:contain;width:72px;height:72px}.invoice-business-name{font-family:var(--font-display);letter-spacing:.3px;color:var(--invoice-ink);font-size:20px;font-weight:700}.invoice-business-line{color:var(--invoice-ink-soft);letter-spacing:.2px;font-size:12px}.invoice-title{font-family:var(--font-display);letter-spacing:12px;text-transform:uppercase;color:var(--invoice-ink);margin:0 0 40px;padding:0;font-size:56px;font-weight:400;line-height:1}.invoice-header .proposal-status-tag{letter-spacing:1px;background:0 0;border:1px solid;padding:6px 14px;font-size:11px}.invoice-header .proposal-status-draft{color:#6b7280;border-color:#d1d5db}.invoice-header .proposal-status-sent{color:#1e40af;background:#eff6ff;border-color:#93c5fd}.invoice-header .proposal-status-viewed{color:#3730a3;background:#eef2ff;border-color:#a5b4fc}.invoice-header .proposal-status-accepted{color:#92400e;background:#fef3c7;border-color:#fcd34d}.invoice-header .proposal-status-paid{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.invoice-header .proposal-status-void{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.invoice-meta-label{color:var(--invoice-accent);letter-spacing:1.2px;font-size:10px;font-weight:700}.invoice-meta-value{color:var(--invoice-ink);font-size:15px;font-family:var(--font-display);font-weight:700}.invoice-meta-line{color:var(--invoice-ink);font-size:13px}.invoice-project-details{border-top:1px solid var(--invoice-accent-soft);border-bottom:1px solid var(--invoice-accent-soft);margin:24px 0;padding:16px 0}.invoice-event-section{border-top:none;margin:32px 0;padding-top:0}.invoice-event-section:first-of-type{margin-top:24px}.invoice-event-header{border-bottom:2px solid var(--invoice-accent);align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.invoice-event-title{font-family:var(--font-display);color:var(--invoice-ink);font-size:18px;font-weight:700}.invoice-event-meta{color:var(--invoice-ink-soft);letter-spacing:.2px;margin-top:0;font-size:12px;font-style:italic}.invoice-line-head{border-bottom:1px solid var(--invoice-accent-soft);color:var(--invoice-accent);letter-spacing:1.2px;padding:10px 0 8px;font-size:10px;font-weight:700}.invoice-line-block{border-bottom:1px solid #8b6f471f;border-radius:4px;padding:18px 12px}.invoice-line-block:nth-child(2n){background:var(--invoice-accent-bg)}.invoice-line-name{font-family:var(--font-display);color:var(--invoice-ink);letter-spacing:.2px;font-size:15px;font-weight:700}.invoice-line-desc{color:var(--invoice-ink-soft);margin-top:6px;font-size:12px;line-height:1.6}.invoice-line-total-cell{font-family:var(--font-display);color:var(--invoice-ink);font-size:15px;font-weight:700}.invoice-line-inclusions{color:var(--invoice-ink);margin:10px 0 0 8px;padding-left:22px;font-size:12px;line-height:1.7}.invoice-line-inclusions li::marker{color:var(--invoice-accent)}.invoice-line-refundable-note{background:var(--invoice-accent-bg);border-left:3px solid var(--invoice-accent);color:var(--invoice-ink-soft);border-radius:3px;margin-top:10px;padding:6px 12px;font-size:12px;font-style:italic}.invoice-totals{background:0 0;border:none;border-radius:0;max-width:320px;margin-top:36px;margin-left:0;margin-right:auto;padding:0}.invoice-totals-row{color:var(--invoice-ink);padding:5px 0;font-size:13px}.invoice-totals-grand{border-top:1px solid var(--invoice-accent);font-family:var(--font-display);color:var(--invoice-ink);letter-spacing:.5px;margin-top:10px;padding:14px 0 6px;font-size:22px;font-weight:700}.invoice-payments{background:var(--invoice-paper);border:1px solid var(--invoice-accent-soft);border-radius:8px;margin-top:40px;padding:24px 28px;position:relative}.invoice-payments:before{content:"";background:var(--invoice-accent);border-radius:8px 8px 0 0;height:4px;position:absolute;top:-1px;left:-1px;right:-1px}.invoice-payments-heading{font-family:var(--font-display);color:var(--invoice-ink);letter-spacing:.5px;text-transform:none;margin-bottom:14px;font-size:16px;font-weight:700}.invoice-payments-head{border-bottom:1px solid var(--invoice-accent-soft);color:var(--invoice-accent);letter-spacing:1.2px;padding:8px 0;font-size:10px;font-weight:700}.invoice-payments-row{color:var(--invoice-ink);border-bottom:1px solid #8b6f4714;padding:10px 0;font-size:13px}.invoice-payments-row:last-child{border-bottom:none}.invoice-payment-status{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.invoice-payment-status-upcoming{color:#6b7280;background:#f3f4f6}.invoice-payment-status-sent{color:#1e40af;background:#dbeafe}.invoice-payment-status-deposited{color:#065f46;background:#d1fae5}.invoice-payment-status-overdue{color:#991b1b;background:#fee2e2}.invoice-payment-status-refunded{color:#92400e;background:#fef3c7}.invoice-notes{background:var(--invoice-accent-bg);border-left:3px solid var(--invoice-accent);border-radius:4px;margin-top:32px;padding:18px 22px;font-style:italic}@media print{.invoice-preview-page{background-color:#fff;padding:0}.invoice-preview-card{box-shadow:none;background-image:none;border:none;max-width:100%;padding:24px}.invoice-preview-card:after{display:none}.invoice-preview-card,.invoice-totals,.invoice-payments,.invoice-line-refundable-note,.invoice-notes,.invoice-line-block:nth-child(2n){-webkit-print-color-adjust:exact;print-color-adjust:exact}}.proposal-card{overflow:hidden}.proposal-card-toggle{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:16px 20px;transition:background .12s;display:flex}.proposal-card-toggle:hover{background:#9c8a760f}.proposal-card-chevron{color:var(--castle-gold,#9c8a76);text-align:center;flex-shrink:0;width:16px;font-size:14px}.proposal-card-title-block{flex:1;min-width:0}.proposal-card-title{color:var(--castle-dark,#2c2c2c);margin:0;font-size:18px;font-weight:700}.proposal-card-meta{color:var(--text-secondary,#6b6b6b);margin-top:4px;font-size:12px}.proposal-card-count{font-weight:600}.proposal-card-subtotal{font-family:var(--font-display);color:var(--castle-dark,#2c2c2c);flex-shrink:0;font-size:18px;font-weight:700}.detail-breadcrumb-sep{color:var(--text-muted,#9a9a9a);margin:0 2px}.detail-breadcrumb-current{color:var(--castle-dark,#2c2c2c);font-weight:600}.project-event-name-link{color:inherit;text-decoration:none}.project-event-name-link:hover{color:var(--castle-gold,#9c8a76);text-decoration:underline}.event-glance-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:12px;display:grid}.event-glance-cell{background:var(--castle-warm,#f6f0e6);border:1px solid var(--border,#e5dfd3);border-radius:8px;padding:12px 14px}.event-glance-label{letter-spacing:.8px;text-transform:uppercase;color:var(--castle-gold,#9c8a76);margin-bottom:4px;font-size:10px;font-weight:700}.event-glance-value{font-family:var(--font-display);color:var(--castle-dark,#2c2c2c);font-size:18px;font-weight:700}.event-coming-soon{background:var(--castle-warm,#f6f0e6);border:1px dashed var(--castle-gold,#9c8a76);text-align:center;color:var(--text-secondary,#6b6b6b);border-radius:12px;padding:32px 28px}.event-coming-soon h3{font-family:var(--font-display);color:var(--castle-gold,#9c8a76);letter-spacing:.5px;margin:0 0 8px;font-size:18px}.event-coming-soon p{max-width:540px;margin:0 auto;font-size:14px;line-height:1.6}.contact-match-callout{border:1px solid var(--castle-gold,#9c8a76);color:var(--castle-dark,#2c2c2c);background:#f0e9dc;border-left-width:3px;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:10px 14px;font-size:13px;display:flex}.contact-match-callout strong{color:var(--castle-gold,#9c8a76);text-transform:uppercase;letter-spacing:.6px;margin-right:4px;font-size:11px;font-weight:700}.modal-title{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);font-size:22px;font-weight:600}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.form-textarea{border:1px solid var(--border);background:var(--castle-cream);width:100%;font-family:var(--font-montserrat), "Montserrat", sans-serif;color:var(--text-primary);resize:vertical;padding:10px 12px;font-size:14px}.form-textarea:focus{border-color:var(--castle-gold);outline:none}.form-error{color:#b3261e;margin-top:10px;font-size:13px}.sms-modal{max-width:520px}.sms-modal-recipient{color:var(--text-muted);margin-bottom:12px;font-size:13px}.sms-modal-body{min-height:140px}.sms-modal-counter{color:var(--text-muted);margin-top:8px;font-size:12px}.sms-modal-warning{color:var(--castle-gold)}.messages-threads{flex-direction:column;gap:8px;margin-top:12px;display:flex}.thread-card{border:1px solid var(--border);background:var(--white)}.thread-card-header{cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;width:100%;padding:12px 14px;display:grid}.thread-card-header:hover{background:var(--castle-cream)}.thread-channel{letter-spacing:1.5px;text-transform:uppercase;color:var(--castle-gold);background:var(--castle-cream);border:1px solid var(--border);padding:2px 8px;font-size:10px;font-weight:700}.thread-counterparty{color:var(--text-primary);font-weight:500}.thread-count,.thread-last{color:var(--text-muted);font-size:12px}.thread-card-open .thread-card-header{border-bottom:1px solid var(--border)}.thread-messages{background:var(--castle-cream);flex-direction:column;gap:10px;margin:0;padding:12px 14px;list-style:none;display:flex}.thread-message{border:1px solid var(--border);background:var(--white);max-width:80%;padding:10px 12px}.thread-message-inbound{align-self:flex-start}.thread-message-outbound{background:#fffaf2;align-self:flex-end}.thread-message-meta{color:var(--text-muted);justify-content:space-between;gap:12px;margin-bottom:4px;font-size:11px;display:flex}.thread-message-subject{color:var(--castle-dark);margin-bottom:4px;font-size:13px;font-weight:600}.thread-message-body{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px}.messages-calls-section{margin-top:28px}.detail-section-subheading{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);margin-bottom:10px;font-size:18px}.calls-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.call-row{border:1px solid var(--border);background:var(--white);grid-template-columns:100px 1fr 90px 80px 100px auto;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:grid}.call-row-missed{border-left:3px solid #b3261e}.call-row-voicemail{border-left:3px solid var(--castle-gold)}.call-direction{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:11px}.call-direction-inbound{color:#2c7a3f}.call-direction-outbound{color:var(--castle-gold)}.call-counterparty{color:var(--text-primary);font-weight:500}.call-status{text-transform:uppercase;letter-spacing:1px;background:var(--castle-cream);text-align:center;padding:2px 6px;font-size:11px}.call-status-missed{color:#b3261e;background:#fbe5e3}.call-status-completed{color:#2c7a3f;background:#e5f4ea}.call-status-voicemail{color:var(--castle-gold);background:#fff3d6}.call-duration,.call-time{color:var(--text-muted);font-size:12px}.recording-load{font-size:12px}.recording-player{max-width:240px;height:28px}.integrations-callout{background:var(--castle-cream);border:1px solid var(--border);border-left:3px solid var(--castle-gold);margin:12px 0;padding:12px 14px;font-size:13px}.integrations-callout code{background:#0000000d;padding:1px 4px;font-size:12px}.integrations-config{background:var(--castle-cream);border:1px solid var(--border);grid-template-columns:1fr 2fr;gap:4px 16px;margin:12px 0 20px;padding:12px 14px;font-size:13px;display:grid}.integrations-config>div{display:contents}.integrations-config dt{text-transform:uppercase;letter-spacing:1px;color:var(--castle-gold);align-self:center;font-size:11px}.integrations-config dd{color:var(--text-primary);word-break:break-all}.integrations-config code{background:#0000000d;padding:1px 4px;font-size:12px}.integrations-mailbox-block{margin-top:16px}.integrations-mailbox-title{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);margin-bottom:8px;font-size:16px}.integrations-mailbox-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.integrations-mailbox-row{background:var(--white);border:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px;display:flex}.integrations-mailbox-row-main{flex:1;min-width:0}.integrations-self-card{background:var(--white);border:1px solid var(--border);padding:14px 16px}.integrations-toggle{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.integrations-toggle input[type=checkbox]{margin-top:3px}.muted{color:var(--text-muted)}.email-modal{max-width:640px}.email-modal-recipient-row{grid-template-columns:80px 1fr;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:grid}.email-modal-recipient-row label{text-transform:uppercase;letter-spacing:1px;color:var(--castle-gold);font-size:11px}.email-modal-body{min-height:200px}.thread-card-footer{background:var(--castle-cream);border-top:1px solid var(--border);justify-content:flex-end;padding:10px 14px;display:flex}.floor-plan-section{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.floor-plan-content{background:var(--castle-cream);border:1px solid var(--border);border-radius:8px;margin-top:10px;padding:14px}.floor-plan-preview-wrap{border:1px solid var(--border);background:#fff;border-radius:6px;max-width:100%;max-height:260px;margin-bottom:12px;overflow:hidden}.floor-plan-preview{object-fit:contain;width:100%;height:auto;max-height:260px;display:block}.floor-plan-empty{border:1px dashed var(--border);color:var(--text-secondary);background:#fff;border-radius:6px;margin-bottom:12px;padding:14px;font-size:13px;line-height:1.55}.floor-plan-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.floor-plan-scale-row{flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-top:6px;display:flex}.floor-plan-scale-row .form-input{margin-bottom:0}.layout-editor{border:1px solid var(--border);background:var(--card-bg,#fff);border-radius:10px;flex-direction:column;height:calc(100vh - 280px);min-height:560px;display:flex;overflow:hidden}.layout-editor-toolbar{background:var(--castle-cream);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;display:flex}.layout-toolbar-group{align-items:center;gap:6px;display:flex}.layout-icon-btn{min-width:36px;padding:6px 10px;font-size:16px;line-height:1}.layout-zoom-label{text-align:center;min-width:48px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.layout-cal-warning{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;padding:4px 10px;font-size:12px}.layout-dirty-indicator{color:var(--castle-gold);font-size:13px;font-style:italic}.layout-editor-workspace{flex:1;grid-template-columns:220px 1fr 260px;min-height:0;display:grid}.layout-editor-sidebar,.layout-editor-props{border-right:1px solid var(--border);background:#fafaf8;padding:14px;overflow-y:auto}.layout-editor-props{border-right:none;border-left:1px solid var(--border)}.layout-sidebar-section{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px}.layout-sidebar-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.layout-sidebar-heading{font-family:var(--font-display,inherit);color:var(--castle-black);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:15px;font-weight:600}.layout-cat-group{margin-bottom:12px}.layout-cat-name{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:4px;padding-left:2px;font-size:11px}.layout-cat-item{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:6px;align-items:center;gap:8px;width:100%;margin-bottom:4px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.layout-cat-item:hover{background:var(--castle-cream);border-color:var(--castle-gold)}.layout-cat-item-shape{color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex}.layout-cat-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.layout-cat-item-name{color:var(--castle-black);font-size:13px;font-weight:500;line-height:1.2}.layout-cat-item-dim{color:var(--text-secondary);margin-top:2px;font-size:11px}.layout-editor-canvas-wrap{background:repeating-linear-gradient(0deg,#f3f4f6 0 1px,#0000 1px 24px),repeating-linear-gradient(90deg,#f3f4f6 0 1px,#0000 1px 24px),#fffdf9;min-width:0;min-height:0;overflow:auto}.layout-props-empty{color:var(--text-secondary)}@media (max-width:1100px){.layout-editor-workspace{grid-template-columns:200px 1fr 220px}}@media (max-width:900px){.layout-editor-workspace{grid-template-columns:180px 1fr}.layout-editor-props{display:none}}.timeline-tab{flex-direction:column;gap:24px;display:flex}.timeline-contacts-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:8px;display:grid}.timeline-contact-group{background:var(--castle-cream,#fffdf9);border:1px solid var(--border,#e5e7eb);border-radius:6px;padding:12px}.timeline-contact-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary,#6b7280);margin-bottom:8px;font-size:11px;font-weight:600}.timeline-contact-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.timeline-contact-row{flex-direction:column;gap:2px;font-size:13px;line-height:1.4;display:flex}.timeline-contact-name{color:#2c2c2c;font-weight:500}.timeline-contact-meta{color:var(--text-secondary,#6b7280);font-size:12px}.timeline-form{flex-direction:column;display:flex}.timeline-presets{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.timeline-preset-btn{border:1px solid var(--border,#e5e7eb);color:#2c2c2c;cursor:pointer;background:#fffdf9;border-radius:999px;padding:4px 10px;font-size:12px;transition:background .12s,border-color .12s}.timeline-preset-btn:hover{background:#9c8a761a;border-color:#9c8a76}.timeline-form-time{flex:0 0 130px}.timeline-form-category{flex:0 0 160px}.timeline-list{border-top:1px solid var(--border,#e5e7eb);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.timeline-item{border-bottom:1px solid var(--border,#e5e7eb);grid-template-columns:110px 1fr auto;align-items:flex-start;gap:16px;padding:14px 4px;display:grid}.timeline-item-editing{background:#fffdf9;border:1px solid #9c8a76;border-radius:6px;grid-template-columns:1fr;padding:16px}.timeline-item-time{flex-direction:column;gap:2px;display:flex}.timeline-item-time-primary{color:#2c2c2c;font-variant-numeric:tabular-nums;font-weight:600}.timeline-item-time-secondary{color:var(--text-secondary,#6b7280);font-variant-numeric:tabular-nums;font-size:11px}.timeline-item-body{min-width:0}.timeline-item-headline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-item-action{color:#2c2c2c;font-weight:500}.timeline-item-owner{color:var(--text-secondary,#6b7280);font-size:13px}.timeline-item-notes{color:#4b5563;margin-top:4px;font-size:13px;line-height:1.4}.timeline-item-venue-notes{color:var(--text-secondary,#6b7280);margin-top:4px;font-size:12px;font-style:italic;line-height:1.4}.timeline-staff-marker{color:#fffdf9;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;background:#2c2c2c;border-radius:3px;margin-right:4px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:600;display:inline-block}.timeline-item-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.timeline-category-pill{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.4;display:inline-block}.timeline-category-setup{color:#6b7280;background:#9ca3af22;border-color:#9ca3af}.timeline-category-pre-event{color:#7c3aed;background:#a78bfa22;border-color:#a78bfa}.timeline-category-ceremony{color:#6b5a47;background:#9c8a7622;border-color:#9c8a76}.timeline-category-cocktail{color:#b45309;background:#f59e0b22;border-color:#f59e0b}.timeline-category-reception{color:#047857;background:#10b98122;border-color:#10b981}.timeline-category-cleanup{color:#4b5563;background:#6b728022;border-color:#6b7280}.timeline-category-other{color:#475569;background:#94a3b822;border-color:#94a3b8}.project-timeline-tab{flex-direction:column;gap:24px;display:flex}.project-timeline-day-header{border-bottom:2px solid #9c8a76;justify-content:space-between;align-items:baseline;margin-bottom:12px;padding-bottom:8px;display:flex}.project-timeline-day-title{color:#2c2c2c;letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:600}.project-timeline-day-meta{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:12px}.project-timeline-event-pill{letter-spacing:.02em;border:1px solid;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.4;display:inline-block}@media (max-width:720px){.timeline-item{grid-template-columns:1fr;gap:6px}.timeline-item-actions{justify-content:flex-end}.timeline-contacts-grid{grid-template-columns:1fr}}.project-timeline-v2{padding:4px 0 24px}.project-timeline-day-v2{margin-bottom:36px}.project-timeline-day-v2:last-child{margin-bottom:0}.project-timeline-day-header-v2{border-bottom:1px solid var(--border,#e5e7eb);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;padding:14px 0 12px;display:flex}.project-timeline-day-date{font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);letter-spacing:.01em;color:var(--castle-black,#2c2c2c);font-size:26px;font-weight:500;line-height:1.1}.project-timeline-day-events{flex-wrap:wrap;gap:8px;display:flex}.project-timeline-day-event-chip{border:1px solid var(--border,#e5e7eb);color:var(--castle-black,#2c2c2c);background:#fff;border-left-width:3px;border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .12s,transform 60ms;display:inline-flex}.project-timeline-day-event-chip:hover{background:var(--castle-cream,#fffdf9);transform:translateY(-1px)}.project-timeline-day-event-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.project-timeline-spine{margin:0;padding:0;list-style:none;position:relative}.project-timeline-spine:before{content:"";background:var(--border,#e5e7eb);pointer-events:none;width:1px;position:absolute;top:14px;bottom:14px;left:124px}.project-timeline-row{border-left:0;grid-template-columns:100px 24px 1fr;align-items:stretch;gap:0;margin:0 0 4px;padding:0;display:grid}.project-timeline-time{text-align:right;align-self:start;padding:14px 12px 14px 0}.project-timeline-time-start{color:var(--castle-black,#2c2c2c);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:16px;font-weight:600;line-height:1.1}.project-timeline-time-end{color:var(--text-secondary,#6b7280);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px}.project-timeline-spine-marker{justify-content:center;align-items:flex-start;padding-top:18px;display:flex}.project-timeline-spine-dot{z-index:1;border:2px solid;border-radius:50%;width:12px;height:12px;position:relative;box-shadow:0 0 0 3px #fff}.project-timeline-body{color:inherit;border:1px solid var(--border,#e5e7eb);border-left:3px solid var(--castle-gold,#9c8a76);cursor:pointer;background:#fff;border-radius:6px;margin:4px 0 4px 12px;padding:12px 14px;text-decoration:none;transition:box-shadow .12s,border-color .12s,transform 60ms;display:block}.project-timeline-body:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.project-timeline-body-headline{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.project-timeline-action{color:var(--castle-black,#2c2c2c);font-size:15px;font-weight:600;line-height:1.3}.project-timeline-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:2px;font-size:13px;display:flex}.project-timeline-owner{color:var(--castle-black,#2c2c2c);font-weight:500}.project-timeline-owner:after{content:"·";color:var(--border,#e5e7eb);margin-left:12px}.project-timeline-owner:last-child:after{content:""}.project-timeline-notes{color:var(--text-secondary,#6b7280)}.project-timeline-venue-notes{background:var(--castle-cream,#fffdf9);border-left:3px solid var(--castle-gold,#9c8a76);color:var(--castle-black,#2c2c2c);border-radius:4px;margin-top:8px;padding:8px 12px;font-size:12.5px;font-style:italic;line-height:1.45}.project-timeline-event-tag{text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-top:8px;font-size:11px;font-weight:600}@media (max-width:720px){.project-timeline-spine:before{display:none}.project-timeline-row{grid-template-columns:80px 0 1fr;gap:0}.project-timeline-spine-marker{display:none}.project-timeline-body{margin-left:8px}.project-timeline-day-date{font-size:22px}}.key-contacts-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px;display:grid}.key-contact-card{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:8px;padding:12px 14px;transition:border-color .12s,box-shadow .12s}.key-contact-card:hover{border-color:var(--castle-gold,#9c8a76);box-shadow:0 2px 6px #0000000a}.key-contact-card-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.key-contact-category{text-transform:uppercase;letter-spacing:.08em;color:var(--castle-gold,#9c8a76);font-size:10.5px;font-weight:700}.key-contact-type{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.key-contact-type-castle-hired{background:var(--castle-cream,#fffdf9);color:var(--castle-black,#2c2c2c);border:1px solid var(--castle-gold,#9c8a76)}.key-contact-type-client-hired{color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb}.key-contact-name{color:var(--castle-black,#2c2c2c);margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.25}.key-contact-meta{flex-direction:column;gap:2px;font-size:12.5px;display:flex}.key-contact-link{color:var(--text-secondary,#6b7280);text-decoration:none;transition:color .12s}.key-contact-link:hover{color:var(--castle-gold,#9c8a76);text-decoration:underline}.product-bundle-tag{letter-spacing:.04em;text-transform:uppercase;background:var(--castle-cream,#f5efe6);color:var(--castle-black,#1f1b16);border:1px solid var(--castle-gold,#9c8a76);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.product-bundle-toggle{background:var(--castle-cream,#f5efe6)}@supports (color:color-mix(in lab, red, red)){.product-bundle-toggle{background:color-mix(in srgb, var(--castle-cream,#f5efe6) 60%, transparent)}}.product-bundle-toggle{border:1px dashed var(--castle-gold,#9c8a76);border-radius:8px;padding:8px 12px}.bundle-components-pending{border:1px dashed var(--border,#e5e7eb);color:var(--text-secondary,#6b7280);border-radius:8px;margin-top:18px;padding:12px 14px;font-size:13px;font-style:italic}.bundle-components-section{border-top:1px solid var(--border,#e5e7eb);margin-top:28px;padding-top:18px}.bundle-components-help{color:var(--text-secondary,#6b7280);margin:4px 0 12px;font-size:13px;line-height:1.5}.bundle-component-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.bundle-component-item{background:var(--surface,#fff);border:1px solid var(--border,#e5e7eb);border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.bundle-component-main{flex:1;min-width:0}.bundle-component-name{color:var(--castle-black,#1f1b16);margin-bottom:4px;font-weight:600}.bundle-component-price{color:var(--text-secondary,#6b7280);font-size:13px;font-weight:400}.bundle-component-desc{color:var(--text-secondary,#6b7280);margin:4px 0 8px;font-size:13px;font-style:italic}.bundle-component-override{margin-top:8px}.bundle-component-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.bundle-vendors-toggle{margin-top:10px;padding:0;font-size:13px}.bundle-vendors-panel{background:var(--castle-cream,#f5efe6);border:1px solid var(--castle-gold,#9c8a76);border-radius:6px;margin-top:8px;padding:10px}@supports (color:color-mix(in lab, red, red)){.bundle-vendors-panel{border:1px solid color-mix(in srgb, var(--castle-gold,#9c8a76) 30%, transparent)}}.bundle-vendor-list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.bundle-vendor-item{background:var(--surface,#fff);border-radius:4px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.bundle-vendor-default{color:var(--text-secondary,#6b7280);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:flex}.bundle-vendor-default input[type=radio]{cursor:pointer}.bundle-vendor-name{color:var(--castle-black,#1f1b16);flex:1}.bundle-vendor-category{color:var(--text-secondary,#6b7280);font-size:12px}.bundle-add-component-row{flex-direction:column;gap:6px;margin-top:12px;display:flex}.bundle-add-help{color:var(--text-secondary,#6b7280);font-size:12px;font-style:italic}.proposal-line-vendor-picker{align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.proposal-line-vendor-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary,#6b7280);flex-shrink:0;font-size:11px;font-weight:600}.proposal-line-vendor-select{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);color:var(--castle-black,#1f1b16);border-radius:4px;max-width:240px;padding:3px 6px;font-size:12px}.proposal-line-vendor-readonly{color:var(--castle-black,#1f1b16);background:var(--castle-cream,#f5efe6);border-radius:4px;padding:3px 6px;font-size:12px}.invoice-vendor-catalogs{border-top:1px solid var(--border,#e5e7eb);margin:40px 0 20px;padding-top:28px}.invoice-section-heading{font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);color:var(--castle-black,#2c2c2c);letter-spacing:.01em;margin:0 0 6px;font-size:24px;font-weight:500}.invoice-section-sub{color:var(--text-secondary,#6b7280);margin:0 0 18px;font-size:13px}.vendor-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.vendor-catalog-card{background:var(--castle-cream,#fffdf9);border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:14px 16px;transition:border-color .12s,box-shadow .12s}.vendor-catalog-card:hover{border-color:var(--castle-gold,#9c8a76);box-shadow:0 2px 6px #0000000d}.vendor-catalog-card-header{margin-bottom:10px}.vendor-catalog-category{text-transform:uppercase;letter-spacing:.08em;color:var(--castle-gold,#9c8a76);margin-bottom:2px;font-size:10.5px;font-weight:700;display:block}.vendor-catalog-name{color:var(--castle-black,#2c2c2c);font-size:15px;font-weight:600;line-height:1.25;display:block}.vendor-catalog-file-list{margin:0;padding:0;list-style:none}.vendor-catalog-file-list li{margin-bottom:4px}.vendor-catalog-file-list li:last-child{margin-bottom:0}.vendor-catalog-file-link{border:1px solid var(--border,#e5e7eb);color:var(--castle-black,#2c2c2c);background:#fff;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.vendor-catalog-file-link:hover{background:var(--castle-cream,#fffdf9);border-color:var(--castle-gold,#9c8a76)}.vendor-catalog-file-icon{flex-shrink:0;font-size:18px}.vendor-catalog-file-meta{flex-direction:column;flex:1;min-width:0;display:flex}.vendor-catalog-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.vendor-catalog-file-size{color:var(--text-secondary,#6b7280);margin-top:1px;font-size:11px}@media print{.invoice-vendor-catalogs{display:none}}.vendor-menu-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.vendor-menu-pill-published{background:var(--castle-gold,#9c8a76);color:#fffdf9}.vendor-menu-pill-draft{color:#6b7280;background:#e5e7eb}.vendor-menus-section .vendor-menu-row .row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.vendor-menu-editor-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:24px;display:grid}@media (max-width:1100px){.vendor-menu-editor-layout{grid-template-columns:1fr}}.vendor-menu-editor-pane{min-width:0}.vendor-menu-preview-pane{align-self:start;position:sticky;top:16px}.vendor-menu-preview-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary,#6b7280);text-align:center;margin-bottom:8px;font-size:11px}.vendor-menu-preview-frame{background:var(--castle-cream,#fffdf9);border:1px solid var(--border,#e5e7eb);border-radius:10px;max-height:calc(100vh - 120px);padding:20px;overflow-y:auto;box-shadow:0 1px 3px #0000000a}.vendor-menu-section-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:8px;margin-bottom:12px;padding:12px}.vendor-menu-section-head{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.vendor-menu-section-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:19px;font-weight:600}.vendor-menu-section-desc{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:12px}.vendor-menu-section-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.btn-icon{border:1px solid var(--border,#e5e7eb);color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:10px;line-height:1;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--castle-cream,#fffdf9);border-color:var(--castle-gold,#9c8a76);color:var(--castle-dark,#2c2c2c)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.vendor-menu-item-list{margin:0 0 8px;padding:0;list-style:none}.vendor-menu-item-row{background:var(--castle-cream,#fffdf9);border-radius:6px;align-items:flex-start;gap:10px;margin-bottom:4px;padding:8px 10px;display:flex}.vendor-menu-item-row-editing{border:1px solid var(--castle-gold,#9c8a76);background:#fff}.vendor-menu-item-name{color:var(--castle-dark,#2c2c2c);font-size:14px;font-weight:500}.vendor-menu-item-desc{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:12px;line-height:1.4}.vendor-menu-item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.vendor-menu-add-section-form,.vendor-menu-add-item-form{grid-template-columns:1fr 1.5fr auto;gap:8px;margin-top:10px;display:grid}@media (max-width:700px){.vendor-menu-add-section-form,.vendor-menu-add-item-form{grid-template-columns:1fr}}.vendor-menu-page{background:var(--castle-cream,#fffdf9);min-height:100vh;color:var(--castle-dark,#2c2c2c);font-family:var(--font-sans,"Montserrat"), system-ui, sans-serif;padding:48px 16px}.vendor-menu-doc{background-color:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold,#9c8a76);background-image:url(/patterns/paisley-damask.svg);background-repeat:repeat;background-size:100px 100px;max-width:1080px;margin:0 auto;padding:56px 64px 48px;position:relative;box-shadow:0 4px 32px #2c2c2c14}.vendor-menu-doc-compact{background-image:none}.vendor-menu-doc:before{content:"";border:1px solid var(--castle-gold-light,#c4b09a);pointer-events:none;z-index:1;position:absolute;inset:10px}.vendor-menu-doc-corner-svg{z-index:2;color:var(--castle-gold,#9c8a76);z-index:2;pointer-events:none;position:absolute}.vendor-menu-doc-corner-svg-tl{top:12px;left:12px}.vendor-menu-doc-corner-svg-tr{top:12px;right:12px;transform:scaleX(-1)}.vendor-menu-doc-corner-svg-bl{bottom:12px;left:12px;transform:scaleY(-1)}.vendor-menu-doc-corner-svg-br{bottom:12px;right:12px;transform:scale(-1)}.vendor-menu-doc-compact{box-shadow:none;max-width:none;padding:28px 22px;font-size:13px}.vendor-menu-doc-compact:before{inset:6px}.vendor-menu-doc-compact .vendor-menu-doc-corner-svg{width:30px;height:30px}.vendor-menu-doc-compact .vendor-menu-doc-corner-svg-tl,.vendor-menu-doc-compact .vendor-menu-doc-corner-svg-tr{top:8px}.vendor-menu-doc-compact .vendor-menu-doc-corner-svg-bl,.vendor-menu-doc-compact .vendor-menu-doc-corner-svg-br{bottom:8px}.vendor-menu-doc-compact .vendor-menu-doc-corner-svg-tl,.vendor-menu-doc-compact .vendor-menu-doc-corner-svg-bl{left:8px}.vendor-menu-doc-compact .vendor-menu-doc-corner-svg-tr,.vendor-menu-doc-compact .vendor-menu-doc-corner-svg-br{right:8px}.vendor-menu-doc-header{text-align:center;z-index:1;border-bottom:none;margin:0 0 36px;padding-bottom:0;position:relative}.vendor-menu-doc-letterhead{border-bottom:1px solid var(--castle-gold-light,#c4b09a);justify-content:center;align-items:center;gap:14px;width:100%;max-width:420px;margin-bottom:20px;padding-bottom:12px;display:inline-flex}.vendor-menu-doc-letterhead-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);letter-spacing:.18em;text-transform:uppercase;font-variant:small-caps;font-size:14px;font-style:italic;font-weight:500}.vendor-menu-doc-letterhead-mark{color:var(--castle-gold,#9c8a76);align-items:center;font-size:13px;line-height:1;display:inline-flex}.vendor-menu-doc-letterhead-mark svg{display:block}.vendor-menu-doc-compact .vendor-menu-doc-letterhead-mark svg{width:9px;height:11px}.vendor-menu-doc-compact .vendor-menu-doc-letterhead{gap:6px;max-width:240px;margin-bottom:10px;padding-bottom:6px}.vendor-menu-doc-compact .vendor-menu-doc-letterhead-name{letter-spacing:.12em;font-size:9px}.vendor-menu-doc-compact .vendor-menu-doc-letterhead-mark{font-size:8px}.vendor-menu-doc-crest{color:var(--castle-gold,#9c8a76);justify-content:center;align-items:center;gap:14px;margin:14px auto 0;font-size:22px;line-height:1;display:flex}.vendor-menu-doc-crest:before,.vendor-menu-doc-crest:after{content:"";background:var(--castle-gold-light,#c4b09a);width:60px;height:1px;display:inline-block}.vendor-menu-doc-compact .vendor-menu-doc-crest{gap:8px;margin-top:8px;font-size:13px}.vendor-menu-doc-compact .vendor-menu-doc-crest:before,.vendor-menu-doc-compact .vendor-menu-doc-crest:after{width:24px}.vendor-menu-doc-title-row{justify-content:center;align-items:center;gap:24px;display:flex}.vendor-menu-doc-side-label{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.35em;text-transform:uppercase;color:var(--castle-dark,#2c2c2c);white-space:nowrap;flex:none;font-size:13px;position:relative}.vendor-menu-doc-side-label-l:after,.vendor-menu-doc-side-label-r:before{content:"";background:var(--castle-gold,#9c8a76);vertical-align:middle;width:36px;height:1px;margin:0 14px;display:inline-block}.vendor-menu-doc-compact .vendor-menu-doc-side-label{letter-spacing:.2em;font-size:9px}.vendor-menu-doc-compact .vendor-menu-doc-side-label-l:after,.vendor-menu-doc-compact .vendor-menu-doc-side-label-r:before{width:14px;margin:0 6px}@media (max-width:640px){.vendor-menu-doc-side-label{display:none}}.vendor-menu-doc-eyebrow{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--castle-gold,#9c8a76);margin-top:14px;font-size:11px}.vendor-menu-doc-compact .vendor-menu-doc-eyebrow{margin-top:8px;font-size:9px}.vendor-menu-doc-title{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:38px;font-style:normal;font-weight:500;line-height:1.05}.vendor-menu-doc-compact .vendor-menu-doc-title{letter-spacing:.08em;font-size:19px}.vendor-menu-doc-subtitle{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.04em;color:var(--text-secondary,#6b7280);margin-top:8px;font-size:13px}.vendor-menu-doc-compact .vendor-menu-doc-subtitle{font-size:11px}.vendor-menu-doc-intro{font-family:var(--font-serif,"Cormorant Garamond"), serif;text-align:center;color:var(--castle-dark,#2c2c2c);z-index:1;border:none;max-width:620px;margin:0 auto 32px;padding:0 24px;font-size:16px;font-style:italic;line-height:1.55;position:relative}.vendor-menu-doc-compact .vendor-menu-doc-intro{margin:0 auto 16px;font-size:11px}.vendor-menu-doc-ornament{text-align:center;color:var(--castle-gold,#9c8a76);z-index:1;margin:20px auto 28px;font-size:22px;line-height:1;position:relative}.vendor-menu-doc-ornament-bottom{margin:32px auto 16px}.vendor-menu-doc-ornament:before,.vendor-menu-doc-ornament:after{content:"";background:var(--castle-gold-light,#c4b09a);vertical-align:middle;width:80px;height:1px;margin:0 14px;display:inline-block}.vendor-menu-doc-compact .vendor-menu-doc-ornament{margin:10px auto 14px;font-size:14px}.vendor-menu-doc-compact .vendor-menu-doc-ornament:before,.vendor-menu-doc-compact .vendor-menu-doc-ornament:after{width:36px;margin:0 8px}.vendor-menu-doc-sections{z-index:1;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:40px 56px;display:grid;position:relative}.vendor-menu-doc-compact .vendor-menu-doc-sections{grid-template-columns:1fr 1fr;gap:18px}@media (max-width:880px){.vendor-menu-doc-sections{grid-template-columns:1fr 1fr;gap:28px 32px}}@media (max-width:560px){.vendor-menu-doc-sections{grid-template-columns:1fr}}.vendor-menu-doc-section{break-inside:avoid;page-break-inside:avoid}.vendor-menu-doc-section-name{font-family:var(--font-sans,"Montserrat"), sans-serif;text-transform:uppercase;letter-spacing:.3em;text-align:center;color:var(--castle-dark,#2c2c2c);border-bottom:1px solid var(--castle-gold-light,#c4b09a);margin:0 0 12px;padding-bottom:10px;font-size:13px;font-weight:600}.vendor-menu-doc-compact .vendor-menu-doc-section-name{letter-spacing:.18em;margin-bottom:4px;padding-bottom:6px;font-size:14px}.vendor-menu-doc-compact .vendor-menu-doc-section-name:after{width:28px;margin-top:4px}.vendor-menu-doc-section-desc{text-align:center;font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--text-secondary,#6b7280);margin:16px 0 24px;font-size:14px;font-style:italic}.vendor-menu-doc-compact .vendor-menu-doc-section-desc{margin:6px 0 10px;font-size:11px}.vendor-menu-doc-items{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.vendor-menu-doc-compact .vendor-menu-doc-items{gap:10px}.vendor-menu-doc-item{text-align:center;break-inside:avoid}.vendor-menu-doc-item-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);letter-spacing:.01em;font-size:17px;font-weight:500;line-height:1.2}.vendor-menu-doc-compact .vendor-menu-doc-item-name{font-size:12px}.vendor-menu-doc-item-desc{font-family:var(--font-sans,"Montserrat"), sans-serif;color:var(--text-secondary,#6b7280);letter-spacing:.005em;max-width:100%;margin-top:4px;font-size:11.5px;font-weight:400;line-height:1.5}.vendor-menu-doc-compact .vendor-menu-doc-item-desc{margin-top:2px;font-size:9.5px;line-height:1.4}.vendor-menu-doc-empty,.vendor-menu-doc-section-empty{font-family:var(--font-serif,"Cormorant Garamond"), serif;text-align:center;color:var(--text-muted,#9a9a9a);margin:24px 0;font-style:italic}.vendor-menu-doc-compact .vendor-menu-doc-section-empty{margin:8px 0;font-size:11px}.vendor-menu-doc-footer{text-align:center;z-index:1;margin-top:40px;position:relative}.vendor-menu-doc-footer-rule{background:var(--castle-gold-light,#c4b09a);max-width:60%;height:1px;margin:0 auto 14px}.vendor-menu-doc-footer-vendor{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.32em;color:var(--castle-dark,#2c2c2c);font-size:12px;font-weight:500}.vendor-menu-doc-footer-sub{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--castle-gold,#9c8a76);margin-top:6px;font-size:9.5px}.vendor-menu-doc-compact .vendor-menu-doc-footer{margin-top:20px}.vendor-menu-doc-compact .vendor-menu-doc-footer-vendor{letter-spacing:.2em;font-size:9px}.vendor-menu-doc-compact .vendor-menu-doc-footer-sub{margin-top:3px;font-size:7.5px}@media print{.vendor-menu-page{background:#fff;padding:0}.vendor-menu-doc{box-shadow:none;border:none;max-width:none;padding:40px}.app-header,.app-sidenav,.invoice-print-row{display:none!important}}.vendor-catalog-menu-list{margin:0 0 10px;padding:0;list-style:none}.vendor-catalog-menu-list li{margin-bottom:4px}.vendor-catalog-menu-list li:last-child{margin-bottom:0}.vendor-catalog-menu-link{background:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold-light,#c4b09a);color:var(--castle-dark,#2c2c2c);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;transition:background .12s,border-color .12s,transform .12s;display:flex}.vendor-catalog-menu-link:hover{border-color:var(--castle-gold,#9c8a76);background:#fff;transform:translateY(-1px)}.vendor-catalog-menu-icon{flex-shrink:0;font-size:20px}.vendor-catalog-menu-meta{flex-direction:column;flex:1;min-width:0;display:flex}.vendor-catalog-menu-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:15px;font-weight:600}.vendor-catalog-menu-sub{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:11px}.vendor-menu-doc-legend-wrap{border-top:1px solid var(--castle-gold-light,#c4b09a);border-bottom:1px solid var(--castle-gold-light,#c4b09a);z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;max-width:760px;margin:0 auto 28px;padding:10px 20px;display:flex;position:relative}.vendor-menu-doc-legend-label{font-family:var(--font-sans,"Montserrat"), sans-serif;text-transform:uppercase;letter-spacing:.3em;color:var(--castle-gold,#9c8a76);flex-shrink:0;font-size:10px;font-weight:600}.vendor-menu-doc-legend{font-family:var(--font-sans,"Montserrat"), sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--castle-dark,#2c2c2c);flex-wrap:wrap;justify-content:center;gap:4px 18px;font-size:10.5px;display:flex}.vendor-menu-doc-legend-item{align-items:center;gap:5px;display:inline-flex}.vendor-menu-doc-chip-emoji{font-size:13px;line-height:1}.vendor-menu-doc-compact .vendor-menu-doc-legend-wrap{gap:8px;margin-bottom:14px;padding:6px 10px}.vendor-menu-doc-compact .vendor-menu-doc-legend-label{letter-spacing:.2em;font-size:7.5px}.vendor-menu-doc-compact .vendor-menu-doc-legend{gap:4px 10px;font-size:8.5px}.vendor-menu-doc-compact .vendor-menu-doc-chip-emoji{font-size:11px}.vendor-menu-doc-item-chips{vertical-align:middle;gap:4px;margin-left:8px;display:inline-flex}.vendor-menu-doc-chip{opacity:.9;cursor:help;font-size:12px;line-height:1}.vendor-menu-doc-chip-spice{opacity:1}.vendor-menu-doc-compact .vendor-menu-doc-chip{font-size:10px}.vendor-menu-picker-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary,#6b7280);margin-bottom:6px;font-size:11px}.vendor-menu-tag-picker,.vendor-menu-spice-picker{flex-wrap:wrap;gap:6px;display:flex}.vendor-menu-tag-chip{border:1px solid var(--border,#e5e7eb);cursor:pointer;color:var(--castle-dark,#2c2c2c);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.vendor-menu-tag-chip:hover{border-color:var(--castle-gold,#9c8a76);background:var(--castle-cream,#fffdf9)}.vendor-menu-tag-chip-on{background:var(--castle-gold,#9c8a76);border-color:var(--castle-gold,#9c8a76);color:#fff}.vendor-menu-tag-chip-on:hover{background:var(--castle-gold,#9c8a76);color:#fff}.vendor-menu-item-chips-inline{vertical-align:middle;gap:4px;margin-left:6px;display:inline-flex}.vendor-menu-chip-inline{opacity:.85;cursor:help;font-size:11px;line-height:1}.portal-page{background-color:var(--invoice-bg,var(--castle-cream,#fffdf9));min-height:100vh;color:var(--castle-dark,#2c2c2c);padding:48px 20px}.portal-card{background-color:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold,#9c8a76);max-width:1080px;margin:0 auto;padding:56px 64px 48px;position:relative;box-shadow:0 4px 32px #2c2c2c14}.portal-card:before{content:"";border:1px solid var(--castle-gold-light,#c4b09a);pointer-events:none;z-index:1;position:absolute;inset:10px}.portal-card>*{z-index:2;position:relative}.portal-header{text-align:center;margin-bottom:44px}.portal-letterhead{border-bottom:1px solid var(--castle-gold-light,#c4b09a);justify-content:center;align-items:center;gap:14px;width:100%;max-width:420px;margin-bottom:22px;padding-bottom:12px;display:inline-flex}.portal-letterhead-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);letter-spacing:.18em;text-transform:uppercase;font-variant:small-caps;font-size:14px;font-style:italic;font-weight:500}.portal-letterhead-mark{color:var(--castle-gold,#9c8a76);align-items:center;display:inline-flex}.portal-letterhead-mark svg{display:block}.portal-greeting{font-family:var(--font-serif,"Cormorant Garamond"), serif;letter-spacing:.02em;color:var(--castle-dark,#2c2c2c);margin:0 0 4px;font-size:48px;font-weight:400;line-height:1.1}.portal-subgreeting{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-gold,#9c8a76);margin-bottom:16px;font-size:22px;font-style:italic}.portal-summary-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.portal-summary-chip{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--castle-dark,#2c2c2c);border:1px solid var(--castle-gold-light,#c4b09a);background:#fffdf999;border-radius:999px;padding:4px 12px;font-size:12px}.portal-status-pill{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--castle-gold,#9c8a76);background:#fffdf966;border:1px solid;border-radius:999px;padding:4px 12px;font-size:11px}.portal-status-booked{color:#166534}.portal-status-completed{color:#1f2937}.portal-status-inquiry{color:#1e40af}.portal-status-lost,.portal-status-cold,.portal-status-draft{color:#6b7280}.portal-status-sent{color:#1e40af}.portal-status-viewed{color:#6d28d9}.portal-status-accepted,.portal-status-paid{color:#166534}.portal-status-void{color:#b91c1c}.portal-crest{color:var(--castle-gold,#9c8a76);justify-content:center;align-items:center;gap:14px;margin:22px auto 0;font-size:22px;line-height:1;display:flex}.portal-crest:before,.portal-crest:after{content:"";background:var(--castle-gold-light,#c4b09a);width:60px;height:1px;display:inline-block}.portal-section{margin-top:48px}.portal-section-heading{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);letter-spacing:.02em;border-bottom:1px solid var(--castle-gold-light,#c4b09a);margin:0 0 6px;padding-bottom:8px;font-size:28px;font-weight:500}.portal-section-sub{color:var(--castle-gold,#9c8a76);margin:0 0 18px;font-size:13px;font-style:italic}.portal-empty{color:var(--castle-gold,#9c8a76);font-size:14px;font-style:italic}.portal-event-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px;display:grid}.portal-event-card{border:1px solid var(--castle-gold-light,#c4b09a);background:#fffdf9b3;padding:18px 20px}.portal-event-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);margin-bottom:10px;font-size:22px}.portal-event-meta{gap:4px;margin:0;font-size:13px;display:grid}.portal-event-meta-row{grid-template-columns:70px 1fr;gap:8px;display:grid}.portal-event-meta-row dt{text-transform:uppercase;letter-spacing:.08em;color:var(--castle-gold,#9c8a76);font-size:11px}.portal-event-meta-row dd{color:var(--castle-dark,#2c2c2c);margin:0}.portal-vendor-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.portal-vendor-card{border:1px solid var(--castle-gold-light,#c4b09a);background:#fffdf9b3;flex-direction:column;gap:10px;padding:18px 20px;display:flex}.portal-vendor-category{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--castle-gold,#9c8a76);font-size:10px}.portal-vendor-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:22px;line-height:1.2}.portal-vendor-context{color:var(--castle-dark,#2c2c2c);border-left:2px solid var(--castle-gold,#9c8a76);background:#c4b09a2e;padding:6px 10px;font-size:12px}.portal-vendor-menus,.portal-vendor-files{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.portal-menu-link,.portal-file-link{color:var(--castle-dark,#2c2c2c);border:1px solid var(--castle-gold,#9c8a76);background:var(--castle-cream,#fffdf9);border-radius:4px;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.portal-menu-link:hover,.portal-file-link:hover{border-color:var(--castle-dark,#2c2c2c);background:#c4b09a2e}.portal-menu-link-name{font-weight:500;display:block}.portal-menu-link-sub{color:var(--castle-gold,#9c8a76);margin-top:2px;font-size:12px;display:block}.portal-file-name{font-size:13px}.portal-vendor-contact{color:var(--castle-dark,#2c2c2c);border-top:1px dashed var(--castle-gold-light,#c4b09a);gap:2px;margin-top:auto;padding-top:10px;font-size:13px;display:grid}.portal-vendor-contact a{color:var(--castle-gold,#9c8a76);text-decoration:none}.portal-vendor-contact a:hover{text-decoration:underline}.portal-timeline-day{margin-bottom:26px}.portal-timeline-day-heading{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-gold,#9c8a76);border-bottom:1px dashed var(--castle-gold-light,#c4b09a);margin-bottom:10px;padding-bottom:6px;font-size:20px}.portal-timeline-list{border-left:2px solid var(--castle-gold-light,#c4b09a);flex-direction:column;gap:14px;margin:0;padding:0 0 0 18px;list-style:none;display:flex}.portal-timeline-row{grid-template-columns:130px 1fr;align-items:baseline;gap:14px;display:grid;position:relative}.portal-timeline-row:before{content:"";background:var(--castle-gold,#9c8a76);border:2px solid var(--castle-cream,#fffdf9);width:8px;height:8px;box-shadow:0 0 0 1px var(--castle-gold-light,#c4b09a);border-radius:50%;position:absolute;top:8px;left:-25px}.portal-timeline-time{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:16px}.portal-timeline-end{color:var(--castle-gold,#9c8a76);font-size:12px;display:block}.portal-timeline-headline{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.portal-timeline-action{color:var(--castle-dark,#2c2c2c);font-size:15px;font-weight:500}.portal-timeline-cat,.portal-timeline-event-pill{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:2px 9px;font-size:10px}.portal-timeline-cat-setup{color:#92400e;background:#fef3c7}.portal-timeline-cat-pre{color:#1e3a8a;background:#dbeafe}.portal-timeline-cat-ceremony{color:#5b21b6;background:#e9d5ff}.portal-timeline-cat-cocktail{color:#9d174d;background:#fce7f3}.portal-timeline-cat-reception{color:#166534;background:#dcfce7}.portal-timeline-cat-cleanup{color:#374151;background:#f3f4f6}.portal-timeline-cat-other{color:var(--castle-dark,#2c2c2c);background:#c4b09a40}.portal-timeline-event-pill{background:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold-light,#c4b09a);color:var(--castle-gold,#9c8a76)}.portal-timeline-notes{color:var(--castle-dark,#2c2c2c);font-size:13px}.portal-timeline-owner{color:var(--castle-gold,#9c8a76);margin-top:2px;font-size:12px;font-style:italic}.portal-layout-grid{gap:24px;display:grid}.portal-layout-card{border:1px solid var(--castle-gold-light,#c4b09a);background:var(--castle-cream,#fffdf9);margin:0;padding:12px}.portal-layout-img{object-fit:contain;background:#fff;border:1px solid #c4b09a66;width:100%;height:auto;max-height:720px;display:block}.portal-layout-svg{background:#fff;border:1px solid #c4b09a66;width:100%;height:auto;max-height:720px;display:block}.portal-layout-skeleton{border:1px dashed #c4b09a80;width:100%;display:block}.portal-layout-fallback{text-align:center;color:var(--castle-gold,#9c8a76);background:#fffdf999;border:1px dashed #c4b09a80;padding:24px 16px;font-style:italic}.portal-layout-caption{color:var(--castle-gold,#9c8a76);text-align:center;margin-top:10px;font-size:12px;font-style:italic}.portal-invoice-summary{border:1px solid var(--castle-gold-light,#c4b09a);background:#fffdf9b3;flex-direction:column;gap:18px;padding:22px 24px;display:flex}.portal-invoice-summary-brand{border-bottom:1px solid var(--castle-gold-light,#c4b09a);align-items:center;gap:14px;padding-bottom:14px;display:flex}.portal-invoice-logo{object-fit:contain;width:48px;height:48px}.portal-invoice-business{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:20px}.portal-invoice-number{color:var(--castle-gold,#9c8a76);letter-spacing:.1em;text-transform:uppercase;font-size:12px}.portal-invoice-numbers{gap:6px;margin:0;font-size:14px;display:grid}.portal-invoice-row{justify-content:space-between;gap:16px;display:flex}.portal-invoice-row dt{color:var(--castle-dark,#2c2c2c)}.portal-invoice-row dd{color:var(--castle-dark,#2c2c2c);margin:0}.portal-invoice-row-balance{border-top:1px solid var(--castle-gold,#9c8a76);font-family:var(--font-serif,"Cormorant Garamond"), serif;margin-top:4px;padding-top:10px;font-size:18px}.portal-invoice-row-balance dt,.portal-invoice-row-balance dd{font-weight:500}.portal-invoice-row-due{color:var(--castle-gold,#9c8a76);font-size:13px}.portal-invoice-status{justify-content:flex-end;display:flex}.portal-invoice-status-pill{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.12em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:4px 12px;font-size:11px}.portal-invoice-cta{background:var(--castle-dark,#2c2c2c);color:var(--castle-cream,#fffdf9);font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--castle-gold,#9c8a76);align-self:flex-start;padding:14px 24px;font-size:13px;text-decoration:none;transition:background .12s,color .12s;display:inline-block}.portal-invoice-cta:hover{background:var(--castle-gold,#9c8a76);color:var(--castle-cream,#fffdf9)}.portal-invoice-cta-note{color:var(--castle-gold,#9c8a76);margin:0;font-size:13px;font-style:italic}.portal-footer{text-align:center;margin-top:60px}.portal-footer-rule{background:var(--castle-gold,#9c8a76);width:80px;height:1px;margin:0 auto 14px}.portal-footer-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);margin-bottom:4px;font-size:15px;font-style:italic}.portal-footer-sub{font-family:var(--font-sans,"Montserrat"), sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--castle-gold,#9c8a76);font-size:11px}@media (max-width:720px){.portal-card{padding:36px 22px}.portal-greeting{font-size:36px}.portal-section-heading{font-size:24px}.portal-timeline-row{grid-template-columns:1fr;gap:4px}.portal-timeline-list{padding-left:16px}.portal-timeline-row:before{left:-23px}}@media print{.portal-page{background:#fff;padding:0}.portal-card{max-width:none;box-shadow:none;border:none;padding:30px}.portal-card:before,.portal-invoice-cta{display:none}}.side-nav-icon{opacity:.85;flex:0 0 14px;margin-right:8px}.side-nav-label{align-items:center;gap:0;display:inline-flex}.help-main{background:var(--castle-cream);min-height:calc(100vh - 76px)}.help-layout{grid-template-columns:240px 1fr;align-items:start;gap:32px;max-width:1180px;margin:0 auto;padding:28px 32px 80px;display:grid}.help-toc{max-height:calc(100vh - 120px);padding-right:8px;position:sticky;top:96px;overflow-y:auto}.help-toc-label{font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--castle-gold);margin-bottom:12px;padding-left:4px;font-size:10px;font-weight:600}.help-toc-nav{flex-direction:column;gap:2px;display:flex}.help-toc-link{font-family:var(--font-montserrat), "Montserrat", sans-serif;color:var(--text-secondary);border-left:2px solid #0000;border-radius:3px;padding:6px 10px;font-size:13px;line-height:1.35;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:block}.help-toc-link:hover{background:var(--castle-warm);color:var(--castle-dark);border-left-color:var(--castle-gold-light)}.help-toc-link-sub{color:var(--text-muted);padding-left:22px;font-size:12px}.help-article{background:var(--white);border:1px solid var(--border);border-radius:6px;min-width:0;padding:40px 48px 56px;box-shadow:0 1px 3px #2c2c2c0a}.help-article-meta{font-family:var(--font-montserrat), "Montserrat", sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--castle-gold);border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:16px;font-size:11px}.help-article-body{font-family:var(--font-montserrat), "Montserrat", sans-serif;color:var(--text-primary);font-size:15px;line-height:1.65}.help-article-body h1{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);letter-spacing:.5px;margin:0 0 24px;font-size:42px;font-weight:600}.help-article-body h2{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-dark);border-bottom:1px solid var(--border);margin:48px 0 16px;padding-bottom:8px;scroll-margin-top:96px;font-size:30px;font-weight:600}.help-article-body h2:first-child{margin-top:0}.help-article-body h3{font-family:var(--font-cormorant), "Cormorant Garamond", serif;color:var(--castle-gold);margin:32px 0 12px;scroll-margin-top:96px;font-size:22px;font-weight:600}.help-article-body p{margin:0 0 16px}.help-article-body ul,.help-article-body ol{margin:0 0 16px;padding-left:26px}.help-article-body li{margin-bottom:6px}.help-article-body li>p{margin:0 0 4px}.help-article-body strong{color:var(--castle-dark);font-weight:600}.help-article-body em{font-style:italic}.help-article-body code{background:var(--castle-warm);color:var(--castle-dark);border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.help-article-body blockquote{border-left:3px solid var(--castle-gold-light);background:var(--castle-warm);color:var(--text-secondary);border-radius:0 3px 3px 0;margin:0 0 16px;padding:4px 16px;font-style:italic}.help-article-body hr{border:none;border-top:1px solid var(--border);margin:40px 0}.help-article-body a{color:var(--castle-gold);text-underline-offset:2px;text-decoration:underline}.help-article-body a:hover{color:var(--castle-dark)}@media (max-width:900px){.help-layout{grid-template-columns:1fr;gap:20px;padding:20px 18px 60px}.help-toc{border-bottom:1px solid var(--border);max-height:none;padding-bottom:12px;padding-right:0;position:static;overflow:visible}.help-article{padding:28px 22px 40px}.help-article-body h1{font-size:32px}.help-article-body h2{font-size:24px}.help-article-body h3{font-size:18px}}.team-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.team-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:flex}.team-row:hover{border-color:var(--castle-gold-light,#c4b09a);box-shadow:0 2px 8px #2c2c2c0a}.team-row-main{flex:1;min-width:0}.team-row-name{color:var(--castle-dark,#2c2c2c);font-size:15px;font-weight:600}.team-row-title{color:var(--text-secondary,#6b7280);margin-left:6px;font-weight:400}.team-row-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;gap:6px;margin-top:4px;font-size:13px;display:flex}.team-row-notes{color:var(--text-secondary,#6b7280);margin-top:6px;font-size:13px;font-style:italic}.team-row-login{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.team-row-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.team-login-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.team-login-badge-admin{background:var(--castle-gold,#9c8a76);color:#fff}.team-login-badge-employee{color:#1f7a4a;background:#e8f5ee}.team-login-badge-none{color:var(--text-secondary,#6b7280);background:#f3f4f6}.team-login-email{color:var(--text-secondary,#6b7280);font-size:12px}.team-archived-divider{border-bottom:1px solid var(--border,#e5e7eb);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary,#6b7280);margin:24px 0 12px;padding-bottom:6px;font-size:12px;font-weight:600}.vendor-portal-event-card{border:1px solid var(--castle-gold-light,#c4b09a);background:#fffdf980;border-radius:4px;margin-bottom:16px;padding:20px 24px}.vendor-portal-event-title{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);margin:0 0 4px;font-size:22px}.vendor-portal-event-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;gap:14px;margin-bottom:10px;font-size:13px;display:flex}.vendor-portal-event-loadtimes{border-left:3px solid var(--castle-gold,#9c8a76);background:#9c8a7614;gap:18px;margin:10px 0;padding:8px 12px;font-size:13px;display:flex}.vendor-portal-event-loadtimes strong{color:var(--castle-dark,#2c2c2c);text-transform:uppercase;letter-spacing:.05em;margin-right:6px;font-size:11px}.vendor-portal-event-notes{border:1px solid var(--castle-gold-light,#c4b09a);color:var(--castle-dark,#2c2c2c);background:#fff;border-radius:4px;margin-top:10px;padding:10px 14px;font-size:13px}.vendor-portal-event-notes-label{text-transform:uppercase;letter-spacing:.08em;color:var(--castle-gold,#9c8a76);margin-bottom:4px;font-size:10px;font-weight:600}.vendor-portal-files{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:12px;display:grid}.vendor-portal-file{border:1px solid var(--border,#e5e7eb);color:var(--castle-dark,#2c2c2c);background:#fff;border-radius:6px;flex-direction:column;gap:4px;padding:12px 14px;text-decoration:none;transition:border-color .12s;display:flex}.vendor-portal-file:hover{border-color:var(--castle-gold,#9c8a76)}.vendor-portal-file-type{text-transform:uppercase;letter-spacing:.08em;color:var(--castle-gold,#9c8a76);font-size:10px;font-weight:600}.vendor-portal-file-name{word-break:break-word;font-weight:500}.vendor-portal-file-meta{color:var(--text-secondary,#6b7280);font-size:11px}.vendor-portal-upload-card{border:1px dashed var(--castle-gold,#9c8a76);background:#fff;border-radius:6px;margin-top:24px;padding:20px 24px}.vendor-portal-upload-title{font-family:var(--font-serif,"Cormorant Garamond"), serif;margin:0 0 6px;font-size:18px}.vendor-portal-share{color:var(--text-secondary,#6b7280);align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.vendor-portal-share strong{color:var(--castle-dark,#2c2c2c)}.scheduling-day-heading{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);border-bottom:1px solid var(--castle-gold-light,#c4b09a);margin:0 0 8px;padding-bottom:6px;font-size:18px}.scheduling-day-list{flex-direction:column;gap:8px;margin:0 0 4px;padding:0;list-style:none;display:flex}.scheduling-shift-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 16px;transition:border-color .12s;display:flex}.scheduling-shift-row:hover{border-color:var(--castle-gold-light,#c4b09a)}.scheduling-shift-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scheduling-shift-time{color:var(--castle-gold,#9c8a76);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.scheduling-shift-who{color:var(--castle-dark,#2c2c2c);font-size:15px}.scheduling-shift-role{color:var(--text-secondary,#6b7280);font-weight:400}.scheduling-shift-where{color:var(--text-secondary,#6b7280);font-size:13px}.scheduling-shift-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;gap:12px;margin-top:2px;font-size:12px;display:flex}.scheduling-shift-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.scheduling-status{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary,#6b7280);background:#f3f4f6;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.scheduling-status-in-progress{color:#92400e;background:#fef3c7}.scheduling-status-completed{color:#1f7a4a;background:#e8f5ee}.scheduling-status-bad{color:#991b1b;background:#fee2e2}.scheduling-employee-picker{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:6px;max-height:240px;overflow-y:auto}.scheduling-employee-pick-row{border-bottom:1px solid var(--border,#e5e7eb);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;display:flex}.scheduling-employee-pick-row:last-child{border-bottom:none}.scheduling-employee-pick-row:hover{background:var(--castle-cream,#fffdf9)}.staff-clockin-card{background:linear-gradient(135deg, var(--castle-cream,#fffdf9) 0%, #fff 100%);border:1px solid var(--castle-gold-light,#c4b09a);text-align:center;border-radius:12px;margin-top:16px;padding:28px 32px}.staff-clockin-status{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary,#6b7280);margin-bottom:8px;font-size:12px;font-weight:600}.staff-clockin-shift-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);margin:4px 0;font-size:24px}.staff-clockin-shift-detail{color:var(--text-secondary,#6b7280);margin-bottom:20px;font-size:14px}.staff-clockin-timer{font-family:var(--font-sans,Montserrat), sans-serif;color:var(--castle-gold,#9c8a76);letter-spacing:.02em;margin:16px 0;font-size:36px;font-weight:700}.staff-clockin-button{background:var(--castle-gold,#9c8a76);color:#fff;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;font-size:16px;font-weight:700;font-family:var(--font-sans,Montserrat), sans-serif;border:none;border-radius:8px;padding:16px 48px;transition:background .12s,transform 50ms}.staff-clockin-button:hover:not(:disabled){background:var(--castle-dark,#2c2c2c)}.staff-clockin-button:active:not(:disabled){transform:scale(.98)}.staff-clockin-button-out{background:#b91c1c}.staff-clockin-button-out:hover:not(:disabled){background:#7f1d1d}.staff-clockin-button:disabled{cursor:wait;background:#9ca3af}.staff-clockin-error{color:#991b1b;background:#fee2e2;border-radius:6px;margin-top:14px;padding:10px 14px;font-size:13px}.staff-clockin-hint{color:var(--text-secondary,#6b7280);margin-top:12px;font-size:12px}.staff-upcoming-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.staff-upcoming-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.staff-upcoming-when{color:var(--castle-dark,#2c2c2c);font-size:14px;font-weight:600}.staff-upcoming-where{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:13px}.staff-week-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.staff-week-stat{background:var(--castle-cream,#fffdf9);border:1px solid var(--border,#e5e7eb);text-align:center;border-radius:8px;padding:14px 16px}.staff-week-stat-value{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:28px;font-weight:600}.staff-week-stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary,#6b7280);margin-top:4px;font-size:11px}.modal-wide{width:92vw;max-width:720px}.payments-summary{flex-wrap:wrap;gap:16px;display:flex}.payments-summary-stat{background:var(--castle-cream,#fffdf9);border:1px solid var(--border,#e5e7eb);border-radius:8px;flex:1;min-width:140px;padding:14px 18px}.payments-summary-value{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:26px;font-weight:600}.payments-summary-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary,#6b7280);margin-top:2px;font-size:11px}.payments-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.payments-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:8px;padding:14px 16px}.payments-row-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.payments-row-main{flex:1;min-width:0}.payments-row-name{color:var(--castle-dark,#2c2c2c);font-size:15px;font-weight:600}.payments-row-type{color:var(--text-secondary,#6b7280);margin-left:6px;font-size:13px;font-weight:400}.payments-row-meta{color:var(--text-secondary,#6b7280);margin-top:3px;font-size:12px}.payments-row-right{text-align:right;flex-shrink:0}.payments-row-amount{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:20px;font-weight:600}.payments-status{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;margin-top:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.payments-status-pending{color:#92400e;background:#fef3c7}.payments-status-paid{color:#1f7a4a;background:#e8f5ee}.payments-status-void{color:#6b7280;background:#f3f4f6}.payments-row-actions{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.payments-lines{border-top:1px solid var(--border,#e5e7eb);flex-direction:column;gap:6px;margin:10px 0 0;padding:10px 0 0;list-style:none;display:flex}.payments-line{align-items:center;gap:12px;font-size:13px;display:flex}.payments-line-cat{text-transform:uppercase;letter-spacing:.05em;color:var(--castle-gold,#9c8a76);flex:0 0 130px;font-size:11px;font-weight:600}.payments-line-label{color:var(--castle-dark,#2c2c2c);flex:1;min-width:0}.payments-line-project{color:var(--text-secondary,#6b7280)}.payments-line-amount{color:var(--castle-dark,#2c2c2c);flex-shrink:0;font-weight:600}.payments-line-editor{border:1px solid var(--border,#e5e7eb);background:var(--castle-cream,#fffdf9);border-radius:8px;padding:10px}.payments-line-edit-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.payments-total-preview{text-align:right;color:var(--castle-dark,#2c2c2c);border-top:1px solid var(--castle-gold,#9c8a76);margin-top:12px;padding-top:10px;font-size:16px}.payments-shift-picker{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:8px;max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.payments-shift-pick-row{border-bottom:1px solid var(--border,#e5e7eb);align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.payments-shift-pick-row:last-child{border-bottom:none}.pnl-card{border:1px solid var(--castle-gold-light,#c4b09a);background:var(--castle-cream,#fffdf9);border-radius:10px;max-width:520px;padding:24px 28px}.pnl-row{color:var(--castle-dark,#2c2c2c);justify-content:space-between;padding:8px 0;font-size:15px;display:flex}.pnl-row-cost{color:#991b1b}.pnl-row-divider{border-top:1px solid var(--castle-gold-light,#c4b09a);margin:6px 0}.pnl-row-net{border-top:2px solid var(--castle-gold,#9c8a76);font-family:var(--font-serif,"Cormorant Garamond"), serif;margin-top:8px;padding-top:12px;font-size:22px;font-weight:600}.pnl-net-positive{color:#166534}.pnl-net-negative{color:#991b1b}.pnl-pending-note{color:var(--text-secondary,#6b7280);margin-top:10px;font-size:12px;font-style:italic}.project-staff-event-head{border-bottom:1px solid var(--castle-gold-light,#c4b09a);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 8px;padding-bottom:6px;display:flex}.project-staff-event-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:17px}.project-staff-event-date{color:var(--text-secondary,#6b7280);font-family:var(--font-sans,Montserrat), sans-serif;font-size:13px}.project-staff-event-meta{color:var(--text-secondary,#6b7280);font-size:12px}.staff-no-sidebar{background:var(--bg,#f5f1ea);flex-direction:column;min-height:100vh;display:flex}.staff-employee-chrome{background:var(--castle-dark,#2c2c2c);color:var(--castle-cream,#fffdf9);border-bottom:1px solid var(--castle-gold,#9c8a76);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.staff-employee-chrome-brand .brand-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;font-size:20px;font-weight:600;line-height:1.1}.staff-employee-chrome-brand .brand-subtitle{font-family:var(--font-sans,Montserrat), sans-serif;text-transform:uppercase;letter-spacing:.2em;color:var(--castle-gold,#9c8a76);margin-top:2px;font-size:10px}.staff-employee-chrome-actions{align-items:center;gap:18px;display:flex}.staff-employee-chrome-email{color:var(--castle-gold-light,#c4b09a);font-size:13px;font-family:var(--font-sans,Montserrat), sans-serif}.staff-employee-chrome .btn-link{color:var(--castle-cream,#fffdf9);text-decoration:underline}.staff-employee-chrome .btn-link:hover{color:var(--castle-gold-light,#c4b09a)}.staff-adhoc-panel{border:1px dashed var(--castle-gold-light,#c4b09a);text-align:center;background:#fffdf999;border-radius:8px;margin-top:16px;padding:14px 16px}.staff-adhoc-form{text-align:left}.setup-checklist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.setup-checklist-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:6px;align-items:baseline;gap:14px;padding:8px 12px;display:flex}.setup-checklist-count{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-gold,#9c8a76);text-align:right;min-width:48px;font-size:22px;font-weight:600}.setup-checklist-type{color:var(--castle-dark,#2c2c2c);flex:1;font-size:14px}.setup-checklist-seats{color:var(--text-secondary,#6b7280);font-size:12px}.staff-timeline-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.staff-timeline-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:6px;gap:14px;padding:10px 12px;display:flex}.staff-timeline-time{min-width:130px;color:var(--castle-gold,#9c8a76);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.staff-timeline-body{flex:1}.staff-timeline-cat{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.staff-vendor-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.staff-vendor-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.staff-vendor-name{color:var(--castle-dark,#2c2c2c);font-weight:600}.staff-vendor-meta{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:12px}.staff-vendor-load{color:var(--castle-gold,#9c8a76);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;font-weight:600;display:flex}.staff-main{max-width:880px;margin:0 auto;padding:36px 32px 64px}.staff-hero{border-bottom:1px solid var(--castle-gold-light,#c4b09a);margin-bottom:32px;padding-bottom:22px}.staff-hero-greeting{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);margin-bottom:6px;font-size:40px;font-weight:600;line-height:1.1}.staff-hero-date{font-family:var(--font-sans,Montserrat), sans-serif;text-transform:uppercase;letter-spacing:.18em;color:var(--castle-gold,#9c8a76);align-items:center;gap:14px;min-height:16px;font-size:13px;display:flex}.staff-hero-preview{letter-spacing:.12em;border:1px solid var(--castle-gold,#9c8a76);color:var(--castle-gold,#9c8a76);border-radius:999px;padding:2px 8px;font-size:10px}.staff-panel{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:10px;margin-bottom:22px;overflow:hidden;box-shadow:0 1px 2px #2c2c2c0a}.staff-panel .panel-header{border-bottom:1px solid var(--border,#e5e7eb);background:var(--castle-cream,#fffdf9);padding:14px 22px}.staff-panel .panel-header h2{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);margin:0;font-size:20px;font-weight:600}.staff-panel .panel-body{padding:22px}.staff-panel .staff-clockin-card{border-radius:14px;margin-top:0;padding:32px 28px}.staff-panel .staff-clockin-shift-name{font-size:28px}.staff-panel .staff-clockin-button{padding:18px 56px;font-size:15px}.staff-panel .staff-week-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.staff-panel .staff-week-stat{background:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold-light,#c4b09a);border-radius:10px;padding:18px 20px}.staff-panel .staff-week-stat-value{font-size:32px}.staff-panel .staff-week-stat-label{letter-spacing:.12em;margin-top:6px}.staff-panel .staff-upcoming-row{border:1px solid var(--border,#e5e7eb);background:#fff;border-radius:10px;padding:14px 18px;transition:border-color .12s,transform 50ms}.staff-panel .staff-upcoming-row:hover{border-color:var(--castle-gold-light,#c4b09a)}.staff-panel .staff-upcoming-when{font-family:var(--font-sans,Montserrat), sans-serif;color:var(--castle-gold,#9c8a76);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:13px;font-weight:600}.staff-panel .staff-upcoming-where{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);font-size:18px}.staff-panel .staff-adhoc-panel{border:1px dashed var(--castle-gold-light,#c4b09a);background:0 0;margin-top:22px}.staff-employee-chrome{padding:14px 32px}.staff-employee-chrome-brand .brand-name{font-size:22px}@media (max-width:640px){.staff-main{padding:24px 18px 48px}.staff-hero-greeting{font-size:32px}.staff-panel .staff-clockin-shift-name{font-size:22px}.staff-panel .staff-clockin-button{padding:16px 36px}}.staff-sidenav{background:var(--castle-dark,#2c2c2c);width:240px;height:100vh;color:var(--castle-cream,#fffdf9);z-index:50;border-right:1px solid var(--castle-gold,#9c8a76);flex-direction:column;padding:28px 0;display:flex;position:fixed;top:0;left:0}.staff-sidenav-brand{text-align:center;border-bottom:1px solid #c4b09a40;padding:0 24px 24px}.staff-sidenav-mark{color:var(--castle-gold,#9c8a76);width:44px;height:44px;margin-bottom:10px;display:inline-flex}.staff-sidenav-mark svg{width:100%;height:100%}.staff-sidenav-brand-name{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-cream,#fffdf9);margin-bottom:10px;font-size:22px;font-weight:600;line-height:1.1}.staff-sidenav-brand-rule{color:var(--castle-gold,#9c8a76);justify-content:center;align-items:center;gap:10px;margin:6px 0;display:flex}.staff-sidenav-brand-rule:before,.staff-sidenav-brand-rule:after{content:"";background:var(--castle-gold,#9c8a76);flex:1;max-width:36px;height:1px}.staff-sidenav-brand-sub{font-family:var(--font-sans,Montserrat), sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--castle-gold-light,#c4b09a);margin-top:4px;font-size:10px}.staff-sidenav-nav{flex-direction:column;flex:1;padding:24px 0;display:flex}.staff-sidenav-link{color:var(--castle-cream,#fffdf9);font-family:var(--font-sans,Montserrat), sans-serif;letter-spacing:.14em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;padding:12px 28px;font-size:13px;transition:color .12s,border-color .12s,background .12s}.staff-sidenav-link:hover{color:var(--castle-gold-light,#c4b09a)}.staff-sidenav-link-active{border-left-color:var(--castle-gold,#9c8a76);color:var(--castle-gold-light,#c4b09a);background:#9c8a7614}.staff-sidenav-foot{font-family:var(--font-sans,Montserrat), sans-serif;border-top:1px solid #c4b09a40;padding:16px 28px}.staff-sidenav-email{color:var(--castle-gold-light,#c4b09a);word-break:break-all;margin-bottom:8px;font-size:11px}.staff-sidenav-signout{border:1px solid var(--castle-gold,#9c8a76);color:var(--castle-cream,#fffdf9);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;width:100%;padding:8px 16px;font-family:inherit;font-size:11px;transition:background .12s,color .12s}.staff-sidenav-signout:hover{background:var(--castle-gold,#9c8a76);color:var(--castle-dark,#2c2c2c)}.staff-page{background:var(--castle-cream,#fffdf9);min-height:100vh;margin-left:240px}.staff-cardstock{background:var(--castle-cream,#fffdf9);min-height:100vh;padding:56px 24px 80px}.staff-letter{background:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold,#9c8a76);max-width:880px;margin:0 auto;padding:56px 56px 48px;position:relative;box-shadow:0 4px 32px #2c2c2c14}.staff-letter-frame{border:1px solid var(--castle-gold-light,#c4b09a);pointer-events:none;z-index:1;position:absolute;inset:10px}.staff-letter>:not(.staff-letter-frame){z-index:2;position:relative}.staff-letter-hero{text-align:center;margin-bottom:38px}.staff-letter-letterhead{color:var(--castle-gold,#9c8a76);justify-content:center;align-items:center;gap:14px;margin-bottom:24px;display:inline-flex}.staff-letter-mark{width:22px;height:22px;color:var(--castle-gold,#9c8a76);display:inline-flex}.staff-letter-mark svg{width:100%;height:100%}.staff-letter-letterhead-name{font-family:var(--font-sans,Montserrat), sans-serif;letter-spacing:.4em;text-transform:uppercase;color:var(--castle-gold,#9c8a76);font-size:11px}.staff-letter-greeting{font-family:var(--font-serif,"Cormorant Garamond"), serif;color:var(--castle-dark,#2c2c2c);margin:0 0 10px;font-size:48px;font-weight:500;line-height:1.05}.staff-letter-date{font-family:var(--font-sans,Montserrat), sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--castle-gold,#9c8a76);justify-content:center;align-items:center;gap:14px;min-height:16px;font-size:12px;display:flex}.staff-letter-crest{color:var(--castle-gold,#9c8a76);letter-spacing:.4em;margin-top:22px;font-size:18px}.staff-letter .staff-panel{border-color:var(--castle-gold-light,#c4b09a);background:#fff;margin-bottom:28px}.staff-letter .staff-panel .panel-header{border-bottom-color:var(--castle-gold-light,#c4b09a);background:#fffdf999}.staff-letter .staff-panel .panel-header h2{color:var(--castle-dark,#2c2c2c)}.staff-letter .panel-header h2{font-size:22px}@media (max-width:860px){.staff-sidenav{border-right:0;border-bottom:1px solid var(--castle-gold,#9c8a76);flex-direction:row;align-items:center;gap:14px;width:100%;height:auto;padding:12px 18px;position:relative}.staff-sidenav-brand{text-align:left;border:0;flex:none;align-items:center;gap:10px;padding:0;display:flex}.staff-sidenav-mark{width:28px;height:28px;margin:0}.staff-sidenav-brand-name{margin:0;font-size:17px}.staff-sidenav-brand-rule,.staff-sidenav-brand-sub{display:none}.staff-sidenav-nav{flex-direction:row;flex:1;gap:4px;padding:0;overflow-x:auto}.staff-sidenav-link{white-space:nowrap;border-bottom:2px solid #0000;border-left:0;padding:8px 12px;font-size:11px}.staff-sidenav-link-active{border-left:0;border-bottom-color:var(--castle-gold,#9c8a76);background:0 0}.staff-sidenav-foot{border:0;flex-shrink:0;padding:0}.staff-sidenav-email{display:none}.staff-sidenav-signout{width:auto;padding:6px 12px;font-size:10px}.staff-page{margin-left:0}.staff-cardstock{padding:24px 14px 48px}.staff-letter{padding:36px 22px 32px}.staff-letter-greeting{font-size:34px}}.vendor-onboarding-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.vendor-onboarding-chip{font-size:11px;font-family:var(--font-sans,Montserrat), sans-serif;letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 9px;font-weight:600;display:inline-flex}.vendor-onboarding-chip-ok{color:#1b5e20;background:#e8f5e9;border-color:#c8e6c9}.vendor-onboarding-chip-pending{color:#8c6900;background:#fff8e1;border-color:#f1d27b}.portal-vendors-notice{color:#1b5e20;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:4px;margin-bottom:14px;padding:10px 14px;font-size:14px}.portal-vendors-error{color:#8b1f1f;background:#fdecea;border:1px solid #f5c2bd;border-radius:4px;margin-bottom:14px;padding:10px 14px;font-size:14px}.portal-vendors-event-card{border:1px solid var(--castle-gold-light,#c4b09a);background:#fffdf980;border-radius:6px;margin-bottom:16px;padding:16px 18px}.portal-vendors-event-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.portal-vendors-event-name{font-family:var(--font-serif,Cormorant Garamond), serif;color:var(--castle-dark,#2c2c2c);font-size:20px}.portal-vendors-event-date{color:var(--castle-gold,#9c8a76);margin-top:2px;font-size:13px}.portal-vendors-add-btn{background:var(--castle-dark,#2c2c2c);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:7px 14px;font-size:13px;font-weight:500}.portal-vendors-add-btn:hover:not(:disabled){background:#1a1a1a}.portal-vendors-add-btn:disabled{opacity:.5;cursor:not-allowed}.portal-vendors-empty{margin:6px 0;font-size:13px}.portal-vendors-list{margin:8px 0 0;padding:0;list-style:none}.portal-vendors-row{border-top:1px solid var(--castle-gold-light,#c4b09a);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.portal-vendors-row:first-child{border-top:none}.portal-vendors-row-main{flex:1}.portal-vendors-row-name{color:var(--castle-dark,#2c2c2c);font-weight:600}.portal-vendors-row-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;gap:4px;margin-top:2px;font-size:13px;display:flex}.portal-vendors-row-cat{background:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold-light,#c4b09a);color:var(--castle-gold,#9c8a76);letter-spacing:.02em;text-transform:uppercase;border-radius:3px;padding:1px 7px;font-size:11px;font-weight:600}.portal-vendors-remove-btn{color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px}.portal-vendors-remove-btn:hover:not(:disabled){color:#b91c1c;text-decoration:underline}.portal-vendor-status{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.portal-vendor-badge{letter-spacing:.02em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.portal-vendor-badge-ok{color:#1b5e20;background:#e8f5e9;border-color:#c8e6c9}.portal-vendor-badge-pending{color:#8c6900;background:#fff8e1;border-color:#f1d27b}.portal-vendors-form{border:1px solid var(--castle-gold-light,#c4b09a);background:#fff;border-radius:4px;margin-top:12px;padding:16px}.portal-vendors-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-vendors-form label,.portal-vendors-form-notes{flex-direction:column;gap:4px;font-size:13px;display:flex}.portal-vendors-form-notes{margin-top:12px}.portal-vendors-form label>span,.portal-vendors-form-notes>span{color:var(--castle-dark,#2c2c2c);font-weight:600}.portal-vendors-form .req{color:#b91c1c}.portal-vendors-form input,.portal-vendors-form select,.portal-vendors-form textarea{border:1px solid #d4cfc4;border-radius:3px;padding:7px 10px;font-family:inherit;font-size:13px}.portal-vendors-form-error{color:#b91c1c;margin-top:10px;font-size:13px}.portal-vendors-form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.portal-btn-primary{background:var(--castle-dark,#2c2c2c);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:8px 16px;font-size:13px;font-weight:500}.portal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.portal-btn-secondary{color:var(--castle-dark,#2c2c2c);border:1px solid var(--castle-gold-light,#c4b09a);cursor:pointer;background:#fff;border-radius:3px;padding:8px 16px;font-size:13px}@media (max-width:700px){.portal-vendors-form-grid{grid-template-columns:1fr}}.vendor-onboarding-banner{color:#1b5e20;background:#e8f5e9;border:1px solid #66bb6a;border-radius:6px;margin:0 0 24px;padding:14px 18px;font-weight:600}.vendor-onboarding-step{border:1px solid var(--castle-gold-light,#c4b09a);background:#fff;border-radius:6px;margin:0 0 18px;padding:18px 22px}.vendor-onboarding-step-head,.vendor-onboarding-substep-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.vendor-onboarding-step-num{color:var(--castle-gold,#9c8a76);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.vendor-onboarding-step-title{font-family:var(--font-serif,Cormorant Garamond), serif;color:var(--castle-dark,#2c2c2c);margin:4px 0 0;font-size:24px}.vendor-onboarding-edit-btn{border:1px solid var(--castle-gold-light,#c4b09a);color:var(--castle-gold,#9c8a76);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border-radius:3px;padding:6px 14px;font-size:12px;font-weight:600}.vendor-onboarding-edit-btn:hover{background:var(--castle-cream,#fffdf9)}.vendor-onboarding-readout{gap:8px;margin:0;display:grid}.vendor-onboarding-readout-grid{grid-template-columns:1fr 1fr}.vendor-onboarding-readout-row{gap:12px;font-size:14px;display:flex}.vendor-onboarding-readout-row dt{min-width:130px;color:var(--text-secondary,#6b7280);font-weight:600}.vendor-onboarding-readout-row dd{color:var(--castle-dark,#2c2c2c);margin:0}.vendor-onboarding-missing{color:#b91c1c;font-style:italic}.vendor-onboarding-saved{color:#1b5e20;margin:-8px 0 12px;font-size:13px}.vendor-onboarding-form{margin-top:8px}.vendor-onboarding-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vendor-onboarding-form label,.vendor-onboarding-form-notes{flex-direction:column;gap:4px;font-size:13px;display:flex}.vendor-onboarding-form-span-2{grid-column:span 2}.vendor-onboarding-form label>span,.vendor-onboarding-form-notes>span{color:var(--castle-dark,#2c2c2c);font-weight:600}.vendor-onboarding-form .req{color:#b91c1c}.vendor-onboarding-form input,.vendor-onboarding-form select,.vendor-onboarding-form textarea{border:1px solid #d4cfc4;border-radius:3px;padding:8px 10px;font-family:inherit;font-size:14px}.vendor-onboarding-form input:disabled,.vendor-onboarding-form input[readonly]{color:var(--text-secondary,#6b7280);background:#f5f5f5}.vendor-onboarding-form-notes{margin-top:12px}.vendor-onboarding-form-error{color:#b91c1c;margin:10px 0 0;font-size:13px}.vendor-onboarding-form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.vendor-onboarding-form-actions button{background:var(--castle-dark,#2c2c2c);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:3px;padding:9px 18px;font-size:13px;font-weight:600}.vendor-onboarding-form-actions button:disabled{opacity:.5;cursor:not-allowed}.vendor-onboarding-event{border:1px solid var(--castle-gold-light,#c4b09a);background:#fff;border-radius:6px;margin:0 0 18px;padding:20px 24px}.vendor-onboarding-event-head{border-bottom:1px solid var(--castle-gold-light,#c4b09a);margin-bottom:16px;padding-bottom:14px}.vendor-onboarding-event-title{font-family:var(--font-serif,Cormorant Garamond), serif;margin:0;font-size:22px}.vendor-onboarding-event-project{color:var(--text-secondary,#6b7280);font-size:13px;font-family:var(--font-sans,Montserrat), sans-serif;font-style:italic;font-weight:400}.vendor-onboarding-event-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;gap:12px;margin-top:6px;font-size:13px;display:flex}.vendor-onboarding-staff-note{background:var(--castle-cream,#fffdf9);border-left:3px solid var(--castle-gold,#9c8a76);margin:0 0 14px;padding:10px 14px;font-size:13px}.vendor-onboarding-staff-note-label{color:var(--castle-gold,#9c8a76);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.vendor-onboarding-substep{border-top:1px solid var(--castle-gold-light,#c4b09a);margin-top:14px;padding-top:14px}.vendor-onboarding-event-extras{margin-top:14px;font-size:13px}.vendor-onboarding-event-extras summary{cursor:pointer;color:var(--castle-dark,#2c2c2c);font-weight:600}.vendor-onboarding-timeline{margin:10px 0 0;padding:0;list-style:none}.vendor-onboarding-timeline li{gap:12px;padding:5px 0;font-size:13px;display:flex}.vendor-onboarding-timeline-time{min-width:80px;color:var(--castle-gold,#9c8a76);font-weight:600}.vendor-onboarding-floorplan-link{color:var(--castle-dark,#2c2c2c);margin-top:14px;text-decoration:none;display:block}.vendor-onboarding-floorplan-link img{border:1px solid var(--castle-gold-light,#c4b09a);border-radius:4px;max-width:100%}.vendor-onboarding-floorplan-link span{color:var(--castle-gold,#9c8a76);margin-top:6px;font-size:13px;font-weight:600;display:inline-block}.vendor-onboarding-floorplan{background:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold-light,#c4b09a);border-radius:4px;margin:14px 0 0;padding:12px}.vendor-onboarding-floorplan .portal-layout-svg{border-radius:3px;max-width:100%;display:block}.vendor-onboarding-floorplan-caption{color:var(--text-secondary,#6b7280);margin-top:10px;font-size:13px;line-height:1.5}.vendor-onboarding-floorplan-caption a{color:var(--castle-gold,#9c8a76);font-weight:600}.vendor-onboarding-rules-intro{margin:6px 0 12px;font-size:14px;line-height:1.55}.vendor-onboarding-rules-list{margin:0 0 16px;padding-left:22px}.vendor-onboarding-rules-list li{margin:6px 0;font-size:13px;line-height:1.5}.vendor-onboarding-rules-form{background:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold-light,#c4b09a);border-radius:4px;padding:16px}.vendor-onboarding-rules-agreement{color:var(--castle-dark,#2c2c2c);margin:0 0 14px;font-size:13px;font-style:italic;line-height:1.55}.vendor-onboarding-signed{color:#1b5e20;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:4px;padding:10px 14px;font-size:14px}.vendor-onboarding-summary-line{color:var(--text-secondary,#6b7280);background:var(--castle-cream,#fffdf9);border-radius:3px;margin:0 0 12px;padding:8px 12px;font-size:13px}.vendor-portal-file-group-label{text-transform:uppercase;letter-spacing:.1em;color:var(--castle-gold,#9c8a76);margin-bottom:8px;font-size:11px;font-weight:600}.vendor-portal-footer{text-align:center;border-top:1px solid var(--castle-gold-light,#c4b09a);color:var(--text-secondary,#6b7280);font-size:12px;font-family:var(--font-sans,Montserrat), sans-serif;margin-top:48px;padding-top:20px}@media (max-width:700px){.vendor-onboarding-form-grid,.vendor-onboarding-readout-grid{grid-template-columns:1fr}.vendor-onboarding-form-span-2{grid-column:span 1}}.coi-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.coi-badge-passed,.coi-badge-override{color:#1b5e20;background:#e8f5e9;border-color:#c8e6c9}.coi-badge-flagged{color:#8c6900;background:#fff8e1;border-color:#f1d27b}.coi-badge-failed{color:#8b1f1f;background:#fdecea;border-color:#f5c2bd}.coi-badge-pending{color:#0d47a1;background:#e3f2fd;border-color:#bbdefb}.coi-badge-error{color:#455a64;background:#eceff1;border-color:#cfd8dc}.coi-badge-skipped{background:var(--castle-cream,#fffdf9);color:var(--text-secondary,#6b7280);border-color:var(--castle-gold-light,#c4b09a)}.coi-validation-notice{border:1px solid #0000;border-radius:4px;margin:0 0 14px;padding:10px 14px;font-size:13px}.coi-validation-notice-reviewing{color:#0d47a1;background:#e3f2fd;border-color:#bbdefb}.coi-validation-notice-passed{color:#1b5e20;background:#e8f5e9;border-color:#c8e6c9}.coi-validation-notice-flagged{color:#8c6900;background:#fff8e1;border-color:#f1d27b}.coi-validation-notice-failed{color:#8b1f1f;background:#fdecea;border-color:#f5c2bd}.coi-validation-notice-error{color:#455a64;background:#eceff1;border-color:#cfd8dc}.coi-cell{border-top:1px dashed var(--border,#e5e7eb);margin-top:6px;padding:6px 0;font-size:12px}.coi-cell-summary{cursor:pointer;color:var(--text-secondary,#6b7280);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:12px;display:inline-flex}.coi-cell-summary:hover{color:var(--castle-dark,#2c2c2c)}.coi-cell-concerns-short{color:var(--text-secondary,#6b7280);font-style:italic}.coi-cell-toggle{color:var(--castle-gold,#9c8a76);margin-left:2px;font-size:10px}.coi-cell-detail{background:var(--castle-cream,#fffdf9);border:1px solid var(--castle-gold-light,#c4b09a);border-radius:4px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.5}.coi-cell-error{color:#8b1f1f;margin-bottom:8px}.coi-cell-summary-line{color:var(--castle-dark,#2c2c2c);margin-bottom:8px;font-style:italic}.coi-cell-findings{grid-template-columns:1fr 1fr;gap:6px 16px;margin:0 0 10px;display:grid}.coi-cell-findings>div{gap:6px;display:flex}.coi-cell-findings dt{color:var(--text-secondary,#6b7280);min-width:110px;font-weight:600}.coi-cell-findings dd{color:var(--castle-dark,#2c2c2c);margin:0}.coi-cell-concerns-list{margin:10px 0}.coi-cell-concerns-list ul{margin:4px 0 0;padding-left:20px}.coi-cell-concerns-list li{color:#8c6900;margin:2px 0}.coi-cell-provenance,.coi-cell-override-note{color:var(--text-secondary,#6b7280);margin-top:10px;font-size:11px}.coi-cell-actions{gap:12px;margin-top:10px;display:flex}.btn-link-small{font-size:11px}@media (max-width:700px){.coi-cell-findings{grid-template-columns:1fr}}html{scroll-behavior:smooth}.portal-section{scroll-margin-top:80px}.portal-tabs{z-index:20;-webkit-backdrop-filter:blur(8px);background:#fffdf9f5;border-bottom:1px solid #c4b09a;margin:0 -32px 32px;padding:0 32px;position:sticky;top:0}.portal-tabs-inner{scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:0;max-width:100%;display:flex;overflow-x:auto}.portal-tab{color:#6b7280;letter-spacing:.02em;white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;padding:16px 18px;font-family:Cormorant Garamond,Georgia,serif;font-size:17px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.portal-tab:hover{color:#2c2c2c}.portal-tab-active{color:#2c2c2c;border-bottom-color:#9c8a76}@media (max-width:700px){.portal-tabs{margin:0 -16px 24px;padding:0 16px}.portal-tab{padding:14px;font-size:15px}.portal-section{scroll-margin-top:70px}}.portal-proposal-event{margin:0 0 28px}.portal-proposal-event-name{color:#2c2c2c;border-bottom:1px solid #e5e0d8;margin:0 0 10px;padding-bottom:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:500}.portal-proposal-sub-heading{color:#2c2c2c;margin:28px 0 12px;font-family:Cormorant Garamond,Georgia,serif;font-size:20px;font-weight:500}.portal-proposal-table{border-collapse:collapse;width:100%;margin:0;font-size:14px}.portal-proposal-table thead th{text-align:left;color:#9c8a76;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #c4b09a;padding:6px 8px;font-size:11px;font-weight:700}.portal-proposal-table tbody td{vertical-align:top;color:#2c2c2c;border-bottom:1px solid #f0ebe0;padding:10px 8px}.portal-proposal-table tbody tr:last-child td{border-bottom:none}.portal-proposal-table .num{text-align:right;font-variant-numeric:tabular-nums}.portal-proposal-line-name{font-weight:500}.portal-proposal-line-desc{color:#6b7280;margin-top:2px;font-size:13px;line-height:1.4}.portal-proposal-unit{color:#6b7280;font-size:12px}.portal-proposal-totals{max-width:360px;margin:24px 0 0 auto;font-size:14px}.portal-proposal-totals>div{color:#6b7280;justify-content:space-between;padding:6px 0;display:flex}.portal-proposal-totals dt,.portal-proposal-totals dd{margin:0}.portal-proposal-grand-total{border-top:2px solid #9c8a76;margin-top:6px;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;color:#2c2c2c!important;padding-top:12px!important;font-size:22px!important}.portal-payment-status{text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.portal-payment-status-deposited{color:#1b5e20;background:#e8f5e9;border-color:#c8e6c9}.portal-payment-status-upcoming{color:#9c8a76;background:#fffdf9;border-color:#c4b09a}.portal-payment-status-sent{color:#0d47a1;background:#e3f2fd;border-color:#bbdefb}.portal-payment-status-overdue{color:#8b1f1f;background:#fdecea;border-color:#f5c2bd}.portal-payment-status-refunded{color:#455a64;background:#eceff1;border-color:#cfd8dc}.portal-proposal-summary{background:#fffdf9;border:1px solid #c4b09a;border-radius:4px;flex-wrap:wrap;gap:18px 32px;margin:28px 0 0;padding:16px 18px;display:flex}.portal-proposal-summary>div{flex-direction:column;gap:4px;display:flex}.portal-proposal-summary-label{text-transform:uppercase;letter-spacing:.1em;color:#9c8a76;font-size:10px;font-weight:700}.portal-proposal-summary-value{color:#2c2c2c;font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.portal-proposal-summary-balance{color:#2c2c2c;font-family:Cormorant Garamond,Georgia,serif;font-size:24px;font-weight:600}.portal-proposal-cta-row{text-align:center;margin-top:28px}.portal-proposal-cta{color:#fffdf9;letter-spacing:.18em;text-transform:uppercase;background:#2c2c2c;border-radius:4px;padding:14px 32px;font-family:Montserrat,system-ui,sans-serif;font-size:12px;text-decoration:none;transition:background .15s;display:inline-block}.portal-proposal-cta:hover{background:#1a1a1a}@media (max-width:700px){.portal-proposal-table{font-size:13px}.portal-proposal-table thead th,.portal-proposal-table tbody td{padding:8px 4px}.portal-proposal-totals{max-width:100%}.portal-proposal-summary{gap:14px 18px}.portal-proposal-summary-value{font-size:16px}.portal-proposal-summary-balance{font-size:20px}}.inventory-import{border:1px dashed var(--castle-gold,#b8860b);background:var(--castle-cream,#fbf7ef);border-radius:8px;margin-bottom:20px;padding:14px 16px}.inventory-import-row{align-items:stretch;gap:10px;margin:6px 0;display:flex}.inventory-import-row .form-input{flex:1}.inventory-import-note{color:var(--text-secondary,#6b7280);margin:10px 0 0;padding-left:20px;font-size:12px;list-style:outside}.inventory-import-note li{margin:3px 0}.inventory-import-note-err{color:#b42318}.api-keys-note{border-left:3px solid var(--castle-gold,#b8902e)}.api-keys-note .panel-body{color:var(--text-secondary,#4b5563);font-size:14px;line-height:1.55}.api-keys-warn{background:var(--castle-cream,#fbf7ef);border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.5}.api-key-row{border-top:1px solid #e5e0d8;padding:16px 0}.api-key-row:first-child{border-top:none;padding-top:0}.api-key-row-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.api-key-label{font-size:15px;font-weight:600}.api-key-env{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:12px}.api-key-env code{background:var(--castle-cream,#f5f0e6);border-radius:4px;padding:1px 6px}.api-key-status{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.api-key-status.is-set{color:#15803d}.api-key-status.is-unset{color:var(--text-secondary,#9ca3af)}.api-key-dot{background:#16a34a;border-radius:50%;width:8px;height:8px;display:inline-block}.api-key-mask{color:var(--text-secondary,#6b7280);font-family:ui-monospace,monospace}.api-key-desc{color:var(--text-secondary,#6b7280);margin:6px 0 10px;font-size:13px}.api-key-revealed{margin-bottom:10px}.api-key-controls{align-items:flex-start;gap:10px;display:flex}.api-key-input{flex:1}.api-key-buttons{flex-shrink:0;gap:8px;display:flex}.api-key-clear{color:#b42318;border-color:#e7c3bd}.api-key-clear:hover:not(:disabled){background:#fbeae7}@media (max-width:640px){.api-key-controls{flex-direction:column}.api-key-buttons{width:100%}}.api-key-test-result{border-radius:8px;margin-top:10px;padding:8px 12px;font-size:13px;line-height:1.45}.api-key-test-result.is-ok{color:#15803d;background:#ecfdf3;border:1px solid #a7f3d0}.api-key-test-result.is-err{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.nav-toggle,.side-nav-backdrop{display:none}@media (max-width:768px){.app-with-sidebar{margin-left:0}.top-row{grid-template-columns:1fr}.stats-bar{grid-template-columns:repeat(2,1fr)}.invoice-tab-header-actions,.row-actions{flex-wrap:wrap}.panel-header{flex-wrap:wrap;gap:10px}.detail-section-bar{flex-wrap:wrap;gap:8px}.invoice-tab-line-row{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.invoice-tab-line-row>:first-child{flex:100%;font-weight:600}.invoice-tab-line-row .invoice-tab-line-total{margin-left:auto}.side-nav{width:270px;transition:transform .22s;transform:translate(-100%);box-shadow:2px 0 16px #00000024}body.nav-open .side-nav{transform:translate(0)}body.nav-open .side-nav-backdrop{z-index:19;background:#00000059;display:block;position:fixed;inset:76px 0 0}.nav-toggle{border:1px solid var(--border);background:var(--white);cursor:pointer;border-radius:8px;flex-direction:column;flex:none;justify-content:center;gap:4px;width:40px;height:40px;padding:0 9px;display:inline-flex}.nav-toggle span{background:var(--castle-dark,#2c2c2c);border-radius:2px;width:100%;height:2px;display:block}.header-content{gap:12px;padding:0 14px}.brand-name{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.brand-subtitle{display:none}a.brand{min-width:0}.header-actions{flex-shrink:0;gap:10px}.new-project-label{display:none}.new-project-btn{letter-spacing:0;padding:9px 14px;font-size:18px;line-height:1}}@media (max-width:640px){.detail-tab-content{padding:18px 14px}.detail-field{flex-direction:column;align-items:flex-start;gap:3px}.detail-field-label{flex:none;width:auto}.detail-field-value{overflow-wrap:anywhere;width:100%}.detail-field-value,.invoice-tab-line-row,.panel-body{overflow-wrap:anywhere}.client-item,.vendor-item,.activity-item,.project-event-item{flex-wrap:wrap}.client-item>:first-child,.vendor-item>:first-child,.activity-item>:first-child,.project-event-item>:first-child{flex:100%;min-width:0}.client-item-meta,.vendor-item-meta{overflow-wrap:anywhere}.proposal-snapshot-grid{grid-template-columns:1fr}.project-timeline-row>*,.project-timeline-body{overflow-wrap:anywhere;min-width:0}.proposal-payment-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.proposal-payment-scroll .proposal-payment-head,.proposal-payment-scroll .proposal-payment-row{min-width:520px}.status-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;margin:0 -14px 16px;padding-bottom:6px;padding-left:14px;padding-right:14px;display:flex;overflow-x:auto}.status-tab{white-space:nowrap;letter-spacing:1px;border-radius:999px;flex:none;min-height:0;padding:7px 13px}.panel-header-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%}.search-input{box-sizing:border-box;width:100%}.event-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;row-gap:8px}.event-row-main{flex:auto;min-width:0}.event-row-name{overflow-wrap:anywhere}.event-row .weather-chip{order:2}.event-row .status-badge{flex:0 0 100%;order:3;max-width:max-content}.calendar-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:680px}.calendar-cell,.calendar-cell-events,.calendar-event{min-width:0}.calendar-cell{min-height:84px}.calendar-event{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.calendar-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.calendar-filters>*{flex:none}.calendar-toolbar{padding:12px 14px}.calendar-month-nav{justify-content:space-between;gap:8px;width:100%}.calendar-month-label{flex:1;min-width:0;font-size:20px}.report-table-head{display:none}.report-table-row{grid-template-columns:1fr;gap:4px;padding:14px 4px}.report-row-name{font-size:15px}.report-table-row .row-actions{margin-top:4px}}@media (max-width:768px){.layout-editor-grid{grid-template-columns:1fr!important}.layout-editor-canvas{height:68vh!important;min-height:360px!important}}@media (max-width:640px){.proposal-line-row{flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 4px;display:flex}.proposal-line-main{flex:100%;min-width:0}.proposal-line-num{text-align:left;flex:72px}.proposal-line-num.proposal-line-total{flex:96px}.proposal-line-num-input{text-align:left;border-color:var(--border);background:var(--white)}.proposal-add-item,.proposal-add-subitem{flex-wrap:wrap;gap:8px 14px}.proposal-add-item>:first-child,.proposal-add-subitem>:first-child{flex:100%}.proposal-add-item .btn-link,.proposal-add-subitem .btn-link{white-space:nowrap}}.side-nav-badge{color:#fff;background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:8px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.needs-reply-count-pill{color:#fff;vertical-align:middle;background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.needs-reply-panel .panel-header h2{align-items:center;display:flex}.needs-reply-viewall{color:var(--castle-gold,#9c8a76);font-weight:600;text-decoration:none}.needs-reply-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.needs-reply-row{border-bottom:1px solid var(--border,#e5e7eb);align-items:flex-start;gap:14px;padding:12px 4px;display:flex}.needs-reply-row:last-child{border-bottom:none}.needs-reply-main{flex:auto;min-width:0}.needs-reply-from{color:var(--castle-dark,#2c2c2c);font-size:14px;font-weight:600}.needs-reply-project{color:var(--text-secondary,#6b7280);font-weight:400}.needs-reply-preview{color:var(--text-secondary,#6b7280);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;overflow:hidden}.needs-reply-meta{color:var(--text-secondary,#6b7280);align-items:center;gap:10px;margin-top:6px;font-size:12px;display:flex}.needs-reply-wait{font-style:italic}.needs-reply-actions{white-space:nowrap;flex-shrink:0;align-items:center;gap:12px;display:flex}.needs-reply-more{padding:10px 4px 2px}.needs-reply-more a{color:var(--castle-gold,#9c8a76);font-size:13px;font-weight:600;text-decoration:none}@media (max-width:640px){.needs-reply-row{flex-direction:column;gap:8px}.needs-reply-preview{white-space:normal}}.tier-list{margin:0;padding:0;list-style:none}.tier-row{border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;display:flex}.tier-row:last-child{border-bottom:none}.tier-row-archived{opacity:.6}.tier-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.tier-row-name{color:var(--castle-dark,#2c2c2c);font-family:Cormorant Garamond,Georgia,serif;font-size:18px;font-weight:600}.tier-row-desc{color:var(--text-secondary,#6b7280);font-size:13px}.tier-row-actions{white-space:nowrap;flex-shrink:0;gap:12px;display:flex}.tier-form{border:1px solid var(--castle-gold-light,#c4b09a);background:#fffdf9;border-radius:6px;margin-bottom:14px;padding:16px}.tier-pill{background:var(--castle-gold,#9c8a76);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:700;display:inline-flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
