@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}:root{--navy: #0e2440;--navy-deep: #0b1d34;--spark: #6fa0f2;--ink: #14181d;--steel: #4a5560;--steel-grey: #6b7682;--paper: #eef1f4;--bg: #eef1f4;--surface: #ffffff;--surface-muted: #f5f7f9;--border: #e2e5ea;--text: #14181d;--muted: #6b7682;--primary: #2e6ae6;--primary-hover: #2457c9;--primary-soft: #e9f0fe;--danger: #d13b3b;--warning: #c2680a;--rail-1: #6f8fe6;--rail-2: #4aa89a;--rail-3: #c98a4a;--nest-1: #f2f5fa;--nest-2: #e9eef6;--nest-3: #dfe6f1;--radius-sm: 8px;--radius-md: 12px;--radius-pill: 999px;--radius: var(--radius-sm);--shadow-sm: 0 1px 2px rgba(20, 30, 60, .05), 0 1px 3px rgba(20, 30, 60, .08);--shadow-md: 0 4px 14px rgba(20, 30, 60, .1);--shadow-lg: 0 12px 32px rgba(20, 30, 60, .18);--shadow: var(--shadow-sm);--focus-ring: 0 0 0 3px rgba(46, 106, 230, .2);--field-pad-y: 6px;--field-pad-x: 10px}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);font-size:14px}button{font:inherit;cursor:pointer}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font:inherit;color:var(--text);padding:var(--field-pad-y) var(--field-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .12s,box-shadow .12s}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);margin:8px 0}.num{text-align:right}.center{text-align:center}.btn-primary,.btn-secondary{border-radius:var(--radius);border:1px solid transparent;padding:8px 14px;font-weight:600}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-primary:disabled,.btn-secondary:disabled,.btn-icon:disabled{opacity:.45;cursor:not-allowed}.btn-icon{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);width:28px;height:28px;line-height:1;color:var(--text)}.btn-icon.danger,.btn-secondary.danger{color:var(--danger);border-color:#f0c9c9}.layout{display:flex;min-height:100vh}.layout-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.globalsearch{position:relative;flex:1;max-width:640px}.globalsearch-box{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:4px 8px 4px 6px}.globalsearch-box:focus-within{border-color:var(--primary);background:var(--surface)}.globalsearch-chips{display:flex;gap:4px;flex-shrink:0}.gs-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:var(--radius-sm);padding:3px 8px;font-size:12px;font-weight:600;white-space:nowrap}.gs-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;display:inline-flex;align-items:center;gap:5px}.gs-chip-x{font-size:13px;line-height:1;opacity:.8}.gs-chip-toggle{border:1px dashed var(--border);background:var(--surface);color:var(--muted);border-radius:var(--radius-sm);width:24px;height:24px;font-size:14px;line-height:1;flex-shrink:0}.gs-chip-toggle:hover{border-color:var(--primary);color:var(--primary)}.globalsearch-input{flex:1;min-width:0;border:none;background:transparent;outline:none;padding:4px 2px}.globalsearch-clear{border:none;background:transparent;color:var(--muted);font-size:12px;padding:2px 4px;flex-shrink:0}.globalsearch-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:420px;overflow-y:auto;padding:4px}.gs-empty{padding:14px;color:var(--muted);text-align:center}.gs-group+.gs-group{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.gs-group-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 10px 2px}.gs-hit{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;border:none;background:transparent;border-radius:var(--radius-sm);padding:7px 10px}.gs-hit:hover{background:var(--bg)}.gs-hit-main{display:flex;flex-direction:column;min-width:0;flex:1}.gs-hit-title{font-weight:600;color:var(--text)}.gs-hit-sub{font-size:12px;color:var(--muted)}.gs-hit-badge{font-size:11px;font-weight:600;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px;white-space:nowrap;flex-shrink:0}.gs-hit-match{font-size:12px;color:var(--muted);font-style:italic;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-user{display:inline-flex;align-items:baseline;gap:5px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:5px 10px;font:inherit;color:var(--text)}.topbar-user:hover{background:var(--bg);border-color:var(--border)}.topbar-user-name{font-weight:600}.content{flex:1;overflow-y:auto}.page{max-width:1280px;margin:0 auto;padding:28px 32px}.sidebar{width:224px;flex-shrink:0;background:var(--navy);color:#c8d0dc;display:flex;flex-direction:column;padding:16px 0}.sidebar-brand{display:block;background:#fff;border:none;border-radius:var(--radius-sm);margin:0 16px 16px;padding:12px 14px;cursor:pointer;box-shadow:var(--shadow-sm)}.sidebar-brand svg,.sidebar-brand img{display:block;width:100%;height:auto}.org-switcher{display:inline-flex;align-items:center;gap:8px}.org-switcher-label{font-size:12px;color:var(--muted);white-space:nowrap}.org-switcher select{min-width:180px}.login-divider{display:flex;align-items:center;gap:10px;margin:4px 0;color:var(--muted);font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-notice{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-top:12px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}.logo-preview{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.logo-preview img{display:block;max-width:220px;max-height:80px;width:auto;height:auto}.sidebar-nav{list-style:none;margin:0;padding:0}.sidebar-link{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:#c8d0dc;text-align:left;padding:10px 20px;font-size:14px;border-left:3px solid transparent}.sidebar-link:hover{background:#ffffff0d;color:#fff}.sidebar-link.active{background:#2e6ae629;color:#fff;border-left-color:var(--primary);font-weight:600}.sidebar-icon{width:18px;text-align:center;font-size:14px}.sidebar-sub{list-style:none;margin:0;padding:0 0 4px}.sidebar-sublink{display:block;width:100%;background:none;border:none;color:#aeb8c6;text-align:left;padding:7px 20px 7px 49px;font-size:13px}.sidebar-sublink:hover{color:#fff}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px}button.stat-card{cursor:pointer;transition:border-color .12s,transform .12s}button.stat-card:hover{border-color:var(--primary);transform:translateY(-1px)}.stat-value{font-size:26px;font-weight:700;color:var(--text)}.stat-label{color:var(--muted);font-size:13px}.page-header h1{margin:0;font-size:22px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.new-quote{display:flex;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px;margin-bottom:20px}.login-card{width:340px;display:flex;flex-direction:column;gap:8px}.login-card h1{margin:0;color:var(--primary)}.login-card label{font-weight:600;margin-top:8px}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.table th,.table td{padding:12px 16px;border-bottom:1px solid var(--border);text-align:left}.table thead th{background:var(--surface-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--border)}.table th.num,.table td.num{text-align:right}.table th.center,.table td.center{text-align:center}.table tbody tr:last-child td{border-bottom:none}.table:not(.lines-table):not(.summary-table) tbody tr:nth-of-type(2n) td{background:var(--surface-muted)}.table tr.clickable{cursor:pointer;transition:background .12s}.table tr.clickable:hover td{background:var(--primary-soft)}.badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.badge-draft{background:#eceff3;color:#4b5563}.badge-sent{background:#e3edff;color:var(--primary-hover)}.badge-accepted{background:#e1f5e7;color:#1c7a3f}.badge-rejected{background:#fdecec;color:#b42318}.badge-superseded{background:#eceff3;color:var(--muted)}.badge-revision{background:#f1ecfb;color:#6b3fb0}.quote-summary{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;margin-bottom:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.quote-summary-title{font-size:16px;font-weight:700;color:var(--text)}.quote-summary-total{font-size:14px;font-weight:600;color:var(--muted)}.quote-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;margin-bottom:16px}.status-tabs{display:flex;gap:4px;flex-wrap:wrap;flex:1 1 auto;min-width:0}@media(max-width:900px){.quote-filters{flex-wrap:wrap}}.tab{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}.tab:hover{background:var(--surface-muted);color:var(--text)}.tab-active{background:var(--primary-soft);border-color:#c9d6fb;color:var(--primary)}.tab-count{display:inline-block;min-width:18px;padding:0 6px;border-radius:var(--radius-pill);background:#00000012;font-size:11px;line-height:18px;text-align:center}.tab-active .tab-count{background:#2e6ae629}.tab-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:var(--radius-pill);background:var(--primary);vertical-align:middle}.filter-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:0 0 auto}.quick-filters{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}.chip:hover:not(:disabled){border-color:#f0b67a}.chip-active{background:#fff3e6;border-color:#f0b67a;color:#b45309}.chip:disabled{opacity:.5;cursor:default}.filter-search{min-width:220px}.filter-select{min-width:180px}.bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:10px 14px;border:1px solid #c9d6fb;border-radius:var(--radius-md);background:var(--primary-soft)}.bulk-count{font-size:13px;font-weight:600;color:var(--primary)}.bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.select-col{width:36px;text-align:center}.row-selected{background:var(--primary-soft)}.expiry-warning{margin-top:2px;font-size:12px;color:#c2750b}.quote-header-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;align-items:start}.field-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}.field.text-block-default{display:flex;flex-direction:row;align-items:center;gap:8px}.field.text-block-default>input[type=checkbox]{flex:0 0 auto;width:auto;margin:0}.field.text-block-default .field-label{margin-bottom:0}.field-value{font-weight:600}.field-value.total{font-size:18px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title{flex:1;font-size:16px;font-weight:600}.row-actions{display:flex;gap:6px;white-space:nowrap}td.row-actions{display:table-cell;white-space:nowrap;text-align:right}td.row-actions>*{vertical-align:middle}td.row-actions>*+*{margin-left:6px}.lines-table{margin-bottom:12px}.line-input{width:100%}.line-input.num{width:90px;text-align:right}.add-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.add-line input[type=text]{flex:1;min-width:160px}.add-line .num{width:90px}.add-section{display:flex;gap:8px;margin-top:8px;margin-bottom:20px}.add-section input{flex:1}.quote-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.quote-detail-head h2{margin:0 0 6px}.quote-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.quote-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.quote-share-row{display:flex;gap:8px;align-items:center;margin-top:8px}.quote-share-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--primary);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--field-pad-y) var(--field-pad-x)}.quote-share-copy{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted)}.quote-share-copy:hover{color:var(--primary);border-color:var(--primary)}.quote-share-copied{flex:none;font-size:13px;color:var(--primary)}.quote-detail-block{line-height:1.5;margin:0 0 12px}.quote-detail-meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}.quote-detail-meta dt{color:var(--muted)}.quote-detail-meta dd{margin:0}.quote-detail-section{margin-bottom:16px}.quote-detail-line-main{display:flex;align-items:flex-start;gap:10px}.quote-detail-subtotal{display:flex;justify-content:space-between;margin:8px 0 0;font-weight:600}.quote-detail-note em{color:var(--muted)}.quote-detail-totals{margin-bottom:16px}.quote-detail-attachments,.quote-detail-events{margin:0;padding-left:18px;line-height:1.7}.quote-detail-events .event-type{font-weight:600}.quote-detail-badges{display:inline-flex;gap:6px;align-items:center}.quote-revisions-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.quote-revisions-head h3{margin:0}.revision-toggle{padding:0;border:0;background:none;color:var(--primary);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}.revision-toggle:hover{color:var(--primary-hover)}.revision-chain{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.revision-chain li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 8px;border-radius:var(--radius);border:1px solid transparent}.revision-chain li.current{background:var(--primary-soft);border-color:#c7d4f8}.revision-chain li.current .revision-number{font-weight:700}.revision-current-marker{margin-left:auto;font-size:12px;font-weight:600;color:var(--primary-hover)}.revision-number{font-variant-numeric:tabular-nums}.revision-link{padding:0;border:0;background:none;color:var(--primary);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;text-decoration:underline}.revision-link:hover{color:var(--primary-hover)}.attachments-card{margin-top:16px}.attachments-hint{color:var(--muted);font-size:13px;margin:0 0 12px}.attachments-add{display:flex;align-items:center;gap:8px;margin-bottom:12px}.attachments-add select,.attachments-card td select{width:auto}.attachments-order,.attachments-actions{white-space:nowrap}.pdf-dropzone-wrap{flex:1;min-width:0}.pdf-dropzone{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--muted);font-size:13px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.pdf-dropzone:hover:not(.is-disabled),.pdf-dropzone:focus-visible{border-color:var(--primary);color:var(--text);outline:none}.pdf-dropzone.is-dragover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.pdf-dropzone.is-disabled{cursor:default;opacity:.7}.pdf-dropzone-icon{font-size:16px}.error.small{font-size:12px;margin:6px 0 0}.attachments-order .btn-icon,.attachments-actions .btn-icon{margin:0 2px}.datefield{position:relative}.datefield-input{width:130px;cursor:pointer}.datefield-popup{position:absolute;z-index:20;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:8px}.section-intro{margin-bottom:12px}.rte{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.rte:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.rte-toolbar{display:flex;gap:4px;padding:4px;border-bottom:1px solid var(--border);background:var(--surface-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.rte-btn{min-width:28px;height:26px;padding:0 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:13px;line-height:1}.rte-btn:hover{background:var(--surface);border-color:var(--border)}.rte-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.rte-content{padding:var(--field-pad-y) var(--field-pad-x);min-height:64px;outline:none;font-size:14px;line-height:1.45}.rte-content p{margin:0 0 6px}.rte-content p:last-child{margin-bottom:0}.rte-content ul{margin:0 0 6px;padding-left:20px}.rte-content li{margin:2px 0}.rte-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);float:left;height:0;pointer-events:none}.rte-compact .rte-content{min-height:52px;padding:6px 8px;font-size:13px;resize:vertical;overflow:auto}.rte-readonly{padding:0;min-height:0}.rte-readonly p:empty{min-height:1.45em}.design-editor{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:16px;align-items:start;--av-power: #f59e0b;--av-network: #2f6fdb;--av-hdmi: #16a34a;--av-usbc: #7c3aed;--av-screen: #334155;--av-furniture: #cbd5e1;--av-grid: #eef1f5;--av-ruler: #94a3b8}@media(max-width:1100px){.design-editor{grid-template-columns:1fr}}.design-palette{min-width:0}.design-palette h3,.design-props h3{margin:16px 0 8px;font-size:.9rem}.design-palette h3:first-child,.design-props h3:first-child{margin-top:0}.palette-group{margin:10px 0}.palette-group-title{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.design-canvas-scroll{min-width:0;max-width:100%;max-height:78vh;overflow:auto;display:flex;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.design-canvas-wrap{flex:0 0 auto;align-self:flex-start}.design-canvas{display:block;width:100%;height:100%;touch-action:none}.design-room{fill:var(--surface);stroke:var(--text);stroke-width:40}.design-ruler line{stroke:var(--av-ruler);stroke-width:6}.design-ruler text{fill:var(--muted);font-size:200px}.design-grid line{stroke:var(--av-grid);stroke-width:6}.design-dim{fill:var(--muted);font-size:260px}.design-item-outline{fill:none;stroke:var(--primary);stroke-width:14;stroke-dasharray:44 44}.design-item-label{fill:var(--text);font-size:220px;pointer-events:none}.sym-display{fill:var(--av-screen);stroke:var(--text);stroke-width:8}.sym-body{fill:var(--surface);stroke:var(--text);stroke-width:10}.sym-lens{fill:var(--av-screen)}.sym-grille{fill:none;stroke:var(--muted);stroke-width:10}.sym-furniture{fill:var(--av-furniture);stroke:var(--muted);stroke-width:8}.sym-box{fill:var(--primary-soft);stroke:var(--primary);stroke-width:10}.sym-conn{fill:var(--surface);stroke-width:16}.sym-conn--power{stroke:var(--av-power)}.sym-conn--network{stroke:var(--av-network)}.sym-conn--hdmi{stroke:var(--av-hdmi)}.sym-conn--usbc{stroke:var(--av-usbc)}.sym-badge{fill:var(--text);font-size:120px;font-weight:600;pointer-events:none}.design-titleblock .tb-frame{fill:var(--surface);stroke:var(--text);stroke-width:12}.design-titleblock .tb-cell,.design-titleblock .tb-div{fill:none;stroke:var(--border);stroke-width:6}.design-titleblock .tb-label{fill:var(--muted);font-size:150px}.design-titleblock .tb-value{fill:var(--text);font-size:150px;font-weight:500}.design-dims-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.design-selection-name{font-weight:600;margin:0 0 8px}.zoom-controls{display:inline-flex;align-items:center;gap:6px}.mode-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.mode-toggle button{border:none;background:var(--surface);color:var(--text);padding:6px 12px;cursor:pointer;font-size:.85rem}.mode-toggle button.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.design-cable--hdmi{--c: var(--av-hdmi)}.design-cable--network{--c: var(--av-network)}.design-cable--power{--c: var(--av-power)}.design-cable--usbc,.design-cable--usb{--c: var(--av-usbc)}.design-cable--control{--c: #64748b}.design-cable--audio{--c: #0891b2}.design-cable--video{--c: #db2777}.design-cable-hit{fill:none;stroke:transparent;stroke-width:130}.design-cable-line{fill:none;stroke:var(--c);stroke-width:20}.design-cable.selected .design-cable-line{stroke-width:36}.design-cable-label{fill:var(--text);font-size:150px;paint-order:stroke;stroke:var(--surface);stroke-width:30;pointer-events:none}.design-item.wire-start .design-item-outline{stroke:var(--av-hdmi);stroke-dasharray:0}.cable-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);vertical-align:middle;margin-right:4px}.table tr.selected-row td{background:var(--primary-soft)}.section-source-badge{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);white-space:nowrap}.inline-chip{display:inline-flex;align-items:center;gap:2px}.assign-room{width:auto;font-size:.78rem;padding:2px 6px}.chip-closable{display:inline-flex;align-items:center;gap:4px}.chip-closable .chip-label,.chip-closable .chip-x{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.chip-closable .chip-x{color:var(--muted);line-height:1}.chip-closable .chip-x:hover{color:var(--danger)}.general-subhead{margin:16px 0 8px;font-size:.9rem}.template-title-row{display:flex;gap:12px;align-items:flex-end}.template-version-field{flex:0 0 130px}.sidebar-version{margin-top:auto;align-self:flex-start;border:none;background:transparent;color:var(--muted);font-size:.72rem;padding:8px 4px 2px}.sidebar-version:hover{color:var(--primary)}.release-notes{max-width:560px}.release-note+.release-note{margin-top:16px}.release-note-head{display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:8px}.release-note-version{font-weight:700}.release-note-badge{margin-left:auto;background:var(--primary);color:var(--surface);border-radius:var(--radius-pill);padding:1px 8px;font-size:.68rem;font-weight:700}.release-note-items{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.45}.design-refresh{max-width:540px}.refresh-groups{display:flex;flex-direction:column;gap:12px;margin:8px 0}.refresh-group h3{font-size:.85rem;margin:0 0 4px}.refresh-group ul{margin:0;padding-left:18px}.refresh-added{color:#16a34a}.refresh-changed{color:#b45309}.refresh-orphan{color:var(--danger)}.refresh-will-remove{color:var(--danger);font-size:.8rem}.guided-question-list{display:flex;flex-direction:column;gap:14px}.guided-question{display:flex;flex-direction:column;gap:10px}.guided-question-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.guided-q-main{display:flex;align-items:center;gap:8px;flex:1 1 320px;min-width:0}.guided-q-main .field-label{margin-bottom:0;white-space:nowrap}.guided-q-main>input{flex:1 1 auto;min-width:0}.guided-q-tools{flex:0 0 auto;flex-wrap:nowrap}.guided-option-num{min-width:22px;text-align:right;font-size:12px;font-weight:600;color:var(--muted)}.guided-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;color:var(--muted);padding:0 4px;line-height:1;align-self:center}.guided-drag-handle:active{cursor:grabbing}.guided-dragging{opacity:.55}.guided-option-list,.guided-option{display:flex;flex-direction:column;gap:8px}.guided-option-row{display:flex;align-items:center;gap:8px}.guided-option-row input{flex:1 1 auto}.guided-followup-block{display:flex;flex-direction:column;gap:12px;margin:6px 0 6px 22px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md)}.guided-nest-0{background:var(--nest-1)}.guided-nest-1{background:var(--nest-2)}.guided-nest-2{background:var(--nest-3)}.guided-add-followup{align-self:flex-start;margin-left:22px}.guided-collapse{align-self:center}.guided-move-select{max-width:200px}.guided-collapsed-hint{margin-left:22px}.guided-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.guided-collapse-spacer{display:inline-block;width:28px;flex:0 0 28px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.customer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media(max-width:720px){.customer-form-grid{grid-template-columns:1fr}}.form-section h2{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--text)}.form-row{margin-bottom:14px}.form-row input,.form-row select{width:100%}.inline-fields{display:flex;gap:8px}.inline-fields select{flex:0 0 110px}.inline-fields input{flex:1;min-width:0}.contacts-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.contacts-header h2{margin:0}.contact-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.contact-card:last-child{margin-bottom:0}.contact-card-top{min-height:20px;margin-bottom:8px}.contact-primary-badge{background:#e1f5e7;color:#1c7a3f}.contact-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.contact-card-view{background:var(--surface-muted);padding:14px 16px;margin-bottom:12px}.contact-view-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.contact-view-name{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text)}.contact-view-grid{display:grid;grid-template-columns:130px 1fr;row-gap:4px;column-gap:12px;margin:0}.contact-view-grid dt{color:var(--muted);font-size:13px}.contact-view-grid dd{margin:0;color:var(--text);font-size:13px}.btn-sm{padding:4px 10px;font-size:13px}.product-form-grid,.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.form-column{display:flex;flex-direction:column;gap:24px}@media(max-width:720px){.product-form-grid,.product-detail-grid{grid-template-columns:1fr}}.product-form-grid .form-row,.product-form-grid .form-section h2{margin-bottom:10px}.form-section h2,.detail-section h2,.detail-section-title{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--text)}.price-triple{display:flex;gap:14px;flex-wrap:wrap}.price-triple-field{display:flex;flex-direction:column;gap:4px}.price-triple-label{font-size:12px;color:var(--muted)}.price-triple .money-input input{width:92px}.form-row textarea{width:100%;resize:vertical}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-item{display:flex;align-items:center;gap:8px;font-weight:500}.checkbox-item input{width:auto}.detail-row{margin-bottom:14px}.detail-row .field-value{display:block}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);background:#eceff3;color:var(--text);font-size:13px;font-weight:500}.btn-secondary.danger-text{color:var(--danger);border-color:#f0c9c9}.image-field{display:flex;align-items:center;gap:12px}.product-image-preview{width:88px;height:88px;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius)}.product-thumb{width:36px;height:36px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);vertical-align:middle}.product-thumb-placeholder{display:inline-block;width:36px;height:36px;border-radius:var(--radius-sm);background:#eceff3;vertical-align:middle}.line-prodnr-cell{display:flex;flex-direction:row;gap:6px;align-items:center}.line-thumb-btn,.product-thumb-btn{padding:0;border:none;background:none;cursor:zoom-in;line-height:0}.line-thumb{width:30px;height:30px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);display:block}.image-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e3c8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.image-modal-body{position:relative;background:#fff;border-radius:var(--radius-md);padding:12px;box-shadow:var(--shadow-lg);max-width:90vw;max-height:90vh}.image-modal-img{display:block;max-width:86vw;max-height:80vh;object-fit:contain;border-radius:var(--radius-sm)}.image-modal-close{position:absolute;top:-12px;right:-12px;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;box-shadow:0 2px 8px #141e3c33}.product-links-group{margin-top:20px}.product-links-group h3{margin:0 0 2px;font-size:15px}.product-links-add{margin-top:10px;max-width:320px}.attr-section{margin-top:20px;border-top:1px solid var(--border);padding-top:16px}.attr-grid{margin-top:8px}.attr-grid th:first-child,.attr-grid td:first-child{width:40%}.attr-grid td{vertical-align:middle}.attr-grid td input[type=text],.attr-grid td select{width:100%}.builder-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.builder-actions{display:flex;align-items:center;gap:8px}.dropdown{position:relative;display:inline-flex}.dropdown-panel{position:absolute;top:calc(100% + 6px);z-index:20;min-width:200px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:2px}.dropdown-panel--right{right:0}.dropdown-panel--left{left:0}.dropdown-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;font-weight:500;color:var(--text)}.dropdown-item:hover{background:var(--surface-muted)}.dropdown-item.danger{color:var(--danger)}.dropdown-toggle{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;color:var(--text);white-space:nowrap;cursor:pointer}.dropdown-toggle:hover{background:var(--surface-muted)}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.signature-preview{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:10px;padding:14px 16px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-muted)}.signature-preview-col{display:flex;flex-direction:column;gap:10px}.signature-preview-heading{font-size:12px;font-weight:700;color:var(--text)}.signature-preview-field{display:flex;align-items:baseline;gap:8px}.signature-preview-label{font-size:11px;color:var(--muted);min-width:78px}.signature-preview-line{flex:1;border-bottom:1px solid var(--border);height:14px}.placeholder-help{display:flex;flex-direction:column;gap:10px;width:280px;max-height:360px;overflow-y:auto}.placeholder-help-hint{font-size:12px;margin:0}.placeholder-group{display:flex;flex-direction:column;gap:4px}.placeholder-group-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.placeholder-tokens{display:flex;flex-direction:column;gap:2px}.placeholder-token{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-sm);padding:6px 8px;cursor:pointer}.placeholder-token:hover{background:var(--surface-muted)}.placeholder-token-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--primary)}.placeholder-token-label{font-size:12px}.placeholder-token-copied{margin-left:auto;font-size:11px;font-weight:600;color:var(--primary)}.back-link{background:none;border:none;color:var(--muted);padding:0 0 12px;font-size:13px;font-weight:600}.back-link:hover{color:var(--primary)}.builder-warning{background:#fff7e6;border:1px solid #f0d9a8;color:#b45309;border-radius:var(--radius);padding:8px 12px;margin-bottom:12px;font-size:13px}.builder-notice{background:var(--primary-soft);border:1px solid #c7d4f8;color:var(--primary-hover);border-radius:var(--radius);padding:8px 12px;margin-bottom:12px;font-size:13px}.discount-control{display:flex;align-items:center;gap:6px}.discount-value{width:90px}.builder-error{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fdecec;border:1px solid #f0c9c9;color:var(--danger);border-radius:var(--radius);padding:8px 12px;margin-bottom:12px;font-size:13px}.builder-error-close{background:none;border:none;color:var(--danger);font-size:13px;line-height:1;padding:2px 4px}.quote-header-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:0;border-bottom:1px solid var(--border)}.quote-header-top .quote-title-block{padding-bottom:10px}.quote-title-block{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quote-title{margin:0;font-size:22px;font-weight:700}.quote-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.accept-link-chip{display:inline-flex;align-items:center;gap:4px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px 4px 2px 10px;font-size:12px}.accept-link-chip a{color:var(--primary);text-decoration:none;font-weight:600}.accept-link-chip a:hover{text-decoration:underline}.accept-link-chip button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;color:var(--muted);border-radius:var(--radius-sm)}.accept-link-chip button:hover{color:var(--primary);background:var(--surface)}.quote-subtitle{margin-top:2px;font-size:14px;color:var(--text)}.customer-open-link{margin-left:6px;color:var(--primary);text-decoration:none;font-weight:700;cursor:pointer}.customer-open-link:hover{text-decoration:underline}.reference-input{min-width:180px}.validdays-input{width:90px}.header-tabs{display:flex;gap:4px;align-self:flex-end}.header-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:color .12s,border-color .12s}.header-tab:hover:not(:disabled){color:var(--text)}.header-tab-active{color:var(--primary);border-bottom-color:var(--primary)}.header-tab:disabled{opacity:.5;cursor:not-allowed}.attachments-embedded{margin-top:20px}.quote-header-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:20px}.quote-col{display:flex;flex-direction:column;gap:12px;min-width:0}.col-title{font-size:15px;font-weight:700;color:var(--text)}.quote-col .field{display:flex;flex-direction:column;gap:4px}.quote-col .field select,.quote-col .field input{max-width:360px}.klant-details{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}.klant-details>div{display:contents}.klant-details dt{color:var(--muted);font-size:13px}.klant-details dd{margin:0;font-size:14px}.switch-customer{display:flex;align-items:center;gap:12px}.quote-kenmerken{gap:6px;position:relative}.quote-kenmerken:before{content:"";position:absolute;left:-16px;top:0;bottom:0;border-left:1px solid var(--border)}.quote-kenmerken .field,.quote-kenmerken .kenmerk{flex-direction:row;align-items:center;gap:16px}.quote-kenmerken .field-label{flex:0 0 175px;margin-bottom:0}.quote-kenmerken .field select,.quote-kenmerken .field input{width:200px;max-width:200px;flex-shrink:0}.kenmerk{display:flex;flex-direction:column;gap:4px}.kenmerk-value{font-weight:600}.klant-actions{display:flex;flex-wrap:wrap;gap:16px}.klant-actions.stacked{flex-direction:column;gap:8px}.btn-link{background:none;border:none;color:var(--primary);font-size:13px;font-weight:600;padding:0;cursor:pointer;align-self:flex-start;text-align:left}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--danger)}.override-chip{display:inline-flex;align-items:stretch;align-self:flex-start;border:1px solid var(--primary);background:var(--primary-soft);border-radius:var(--radius-pill);overflow:hidden}.override-chip-body{border:none;background:none;color:var(--primary);font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer}.override-chip-body:hover{text-decoration:underline}.override-chip-remove{border:none;border-left:1px solid var(--primary);background:none;color:var(--primary);font-size:12px;line-height:1;padding:0 8px;cursor:pointer}.override-chip-remove:hover{background:var(--primary);color:var(--surface)}.new-contact-panel{margin-top:6px}.new-contact-actions{display:flex;align-items:center;gap:12px;margin-top:4px}.override-panel{display:flex;flex-direction:column;gap:6px;background:#f7f9ff;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px}.override-panel .field{gap:2px}.override-panel .field-label{font-size:12px;color:var(--muted)}.override-panel .btn-secondary{align-self:flex-start;margin-top:4px}.klant-and-delivery{display:flex;gap:24px;align-items:stretch;flex-wrap:wrap}.klant-info{display:flex;flex-direction:column;gap:12px;min-width:0;flex:1 1 240px}.klant-delivery{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1 1 200px;border-left:1px solid var(--border);padding-left:24px}.col-subtitle{font-size:14px;font-weight:700;color:var(--text)}.klant-actions.compact{gap:14px;margin-top:2px}@media(max-width:860px){.quote-header-cols{grid-template-columns:1fr;gap:20px}.quote-kenmerken:before{display:none}}.btn-status-accept,.btn-status-reject{border-radius:var(--radius);border:1px solid transparent;padding:8px 14px;font-weight:600}.btn-status-accept{background:#e1f5e7;color:#1c7a3f;border-color:#b7e3c4}.btn-status-accept:hover{background:#d3eedc}.btn-status-reject{background:#fdecec;color:#b42318;border-color:#f0c9c9}.btn-status-reject:hover{background:#f9dede}.vat-note{text-align:right;font-size:13px;color:var(--muted);margin-bottom:8px}.summary-discount-edit{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.quote-discount-section .section-title{margin:0}.quote-totals-footer{margin-top:4px;margin-bottom:20px}.quote-totals-stack{display:flex;flex-direction:column;align-items:stretch;gap:8px}.summary-totals-toggle{margin:4px 0 8px}.quote-total-block{width:100%;background:#f7f9ff;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px 24px}.quote-margin-internal .quote-total-block{background:var(--surface);border-left-color:var(--muted);border-left-style:dashed}.quote-total-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.quote-total-row .field-label{margin-bottom:0}.quote-total-row.total{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.quote-total-value{font-size:22px;font-weight:700;color:var(--text)}.quote-recurring-totals{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.quote-recurring-totals>.field-label{display:block;margin-bottom:4px;font-style:italic}.quote-header-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:20px 28px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.save-status{margin-left:auto;min-height:20px;font-size:13px;font-weight:600}.save-saving{color:var(--muted)}.save-saved{color:#1c7a3f;animation:fade-out 1.5s ease forwards}@keyframes fade-out{0%{opacity:1}60%{opacity:1}to{opacity:0}}.empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);padding:32px;text-align:center;color:var(--muted);margin-bottom:16px}.drag-handle{background:none;border:none;color:var(--muted);font-size:16px;line-height:1;padding:4px 6px;cursor:grab;touch-action:none;border-radius:var(--radius-sm);transition:background .12s,color .12s}.drag-handle:hover{background:#f0f3fb;color:var(--primary)}.drag-handle:active{cursor:grabbing}.section-card .section-header{position:relative}.section-drag{position:absolute;left:-22px;top:50%;transform:translateY(-50%);flex-shrink:0}.drag-col,.drag-cell{width:28px;text-align:center;padding-left:4px!important;padding-right:0!important}.section-card{border-left:4px solid var(--primary);transition:box-shadow .15s,border-color .15s}.section-card.dragging{box-shadow:var(--shadow-lg);border-color:var(--primary);opacity:.95}.line-row{transition:background .12s}.line-row.alt,.line-meta-row.alt,.line-discount-row.alt{background:#f5f7fc}.line-row:hover,.line-row.alt:hover{background:#e9eefb}.line-row.dragging{background:#f0f3fb;position:relative;z-index:1}.line-total{font-weight:600}.lines-table{table-layout:fixed}.col-drag{width:28px}.col-prodnr{width:112px}.col-desc{width:auto}.col-qty{width:64px}.col-price{width:150px}.col-vat{width:54px}.col-opt{width:50px}.col-recurring{width:64px}.col-total{width:108px}.col-act{width:96px}.line-row>td,.line-meta-row>td{vertical-align:top}.line-row-price>td{border-bottom:none;padding-bottom:4px;vertical-align:middle}.line-row-details>td{border-top:none;padding-top:0}.lines-table th,.lines-table td{padding-left:8px;padding-right:8px}.line-prodnr{color:var(--muted);font-size:12px}.line-prodnr-id{display:inline-flex;align-items:center;gap:4px}.line-title-cell{vertical-align:top}.line-prodnr-pick{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.line-discount-row>td{border-top:none;border-bottom:none;padding-top:2px;padding-bottom:2px;vertical-align:middle}.line-discount-label{color:var(--primary);font-style:italic;font-size:13px;white-space:nowrap}.lines-table .row-actions{justify-content:flex-end;align-items:center}.line-discount-control{display:flex;align-items:center;justify-content:flex-end;gap:6px}.line-discount-field{display:inline-flex;align-items:stretch}.line-discount-toggle{display:inline-flex}.line-discount-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--muted);padding:0 8px;font-size:13px;line-height:1}.line-discount-toggle button:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.line-discount-toggle button+button{border-left:none}.line-discount-toggle button.active{background:var(--primary);border-color:var(--primary);color:#fff}.line-discount-field .line-input.num{width:84px;border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.line-detail-popover{z-index:1000;display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:70vh;overflow-y:auto}.line-detail-popover .ldp-group{display:flex;flex-direction:column;gap:5px}.line-detail-popover .ldp-label{color:var(--primary);font-style:italic;font-size:12px}.line-detail-popover .ldp-field{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.line-detail-popover .ldp-field-block{align-items:stretch}.line-detail-popover .ldp-field-block .line-subtext-wrap{flex:1;width:100%}.line-detail-popover .ldp-readout{color:var(--muted);font-size:12px}.line-detail-popover .ldp-divider{border-top:1px solid var(--border);margin-top:2px}.line-below{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px}.line-codes{color:var(--muted);font-size:12px}.line-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:var(--radius-pill);padding:1px 9px;font-size:12px;line-height:1.7;cursor:pointer}.line-chip:hover{border-color:var(--primary);color:var(--primary)}.line-chip.margin{border-style:dashed}.line-chip-group{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);font-size:12px;line-height:1.7}.line-chip-group.margin{border-style:dashed}.line-chip-group--discount{border-color:var(--warning);color:var(--warning)}.line-chip-group--discount .line-chip-label:hover{color:var(--warning)}.line-below--right{justify-content:flex-end}.line-chip-group .line-chip-label{border:none;background:none;color:inherit;padding:1px 3px 1px 9px;font-size:12px;cursor:pointer}.line-chip-group .line-chip-label:hover{color:var(--primary)}.line-chip-x{border:none;background:none;color:var(--muted);padding:1px 8px 1px 3px;font-size:11px;line-height:1;cursor:pointer}.line-chip-x:hover{color:var(--danger)}.line-vat-fixed{color:var(--muted);font-size:13px}.line-desc{display:flex;align-items:flex-start;gap:8px}.line-desc-fields{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.line-title{font-weight:600}.line-subtext{font-weight:400;font-size:12px;color:var(--muted)}.line-date{display:inline-flex;align-items:center;gap:8px}.line-row>td{border-bottom:none}.line-meta-row>td{border-top:none;padding-top:0;padding-bottom:8px}.line-meta-cell{width:100%}.line-meta{display:flex;flex-direction:column;gap:4px}.line-subtext-wrap{display:flex;align-items:flex-start;gap:6px}.line-subtext-wrap .rte{flex:1;min-width:0}.line-details-cell .line-subtext-wrap{margin-top:4px}.lines-table tr.line-row input.line-input,.lines-table tr.line-row select{padding:2px 8px}.line-actions-mini{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.btn-link-mini{background:none;border:none;color:var(--muted);font-size:12px;padding:0;cursor:pointer}.btn-link-mini:hover{color:var(--primary)}.line-flag{font-size:12px;margin-top:2px}.line-flag.warn{color:#b45309}.line-row.line-inactive td,.line-discount-row.line-inactive td,.line-meta-row.line-inactive td{background:#fff7ed}.line-row.line-inactive td:first-child{box-shadow:inset 3px 0 #b45309}.line-flag.info,.line-flag.codes{color:var(--muted)}.add-bundle{position:relative;display:inline-block}.add-bundle .typeahead-list{position:absolute;z-index:20;min-width:240px}.add-bundle-panel{display:flex;flex-direction:column;gap:4px;overflow:visible}.add-bundle-search{width:100%}.add-bundle-options{margin:0;padding:0;list-style:none;max-height:240px;overflow-y:auto}.typeahead-empty{padding:6px 8px;color:var(--muted);font-size:13px}.bundle-editor-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.new-quote-form{display:flex;flex-direction:column;gap:16px;max-width:520px}.new-quote-customer{display:flex;align-items:center;gap:12px}.new-quote-actions{margin-top:4px}.preset-choice{display:flex;flex-direction:column;gap:8px}.preset-option{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left}.preset-option>input[type=radio]{flex:0 0 auto;width:auto;margin:0}.preset-option-active{border-color:var(--primary);background:var(--primary-soft)}.preset-option-body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px}.preset-option-title{font-weight:600}.preset-option-desc{font-size:13px}.new-quote-form:has(.room-card){max-width:640px}.room-card{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted, var(--surface))}.room-card-head{display:flex;align-items:center;gap:12px}.room-label-input{flex:1 1 auto;font-weight:600}.btn-add-room{align-self:flex-start}.guided-followups{display:flex;flex-direction:column;gap:14px;margin-top:4px;padding-left:14px;border-left:2px solid var(--border)}.template-suggestions{display:flex;flex-direction:column;gap:8px}.suggestion-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.suggestion-card:hover{border-color:var(--primary)}.suggestion-card-active{border-color:var(--primary);background:var(--primary-soft)}.suggestion-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.suggestion-card-name{font-weight:600}.suggestion-card-tags{display:flex;flex-wrap:wrap;gap:5px}.suggestion-tag{padding:2px 8px;border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary-strong, var(--primary));font-size:11px;font-weight:600}.suggestion-card-chosen{font-size:12px;font-weight:600;color:var(--primary-strong, var(--primary))}.room-node-list{display:flex;flex-direction:column;gap:8px}.room-node-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.room-node-toggle{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex:1 1 auto;min-width:0;font-weight:500;cursor:pointer}.room-node-toggle input[type=checkbox]{flex:0 0 auto;width:auto}.room-node-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-source-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;max-width:55%}.room-source-caret{opacity:.6;font-size:11px}.room-source-modal{max-width:560px}.money-input{display:inline-flex;align-items:center;gap:4px}.money-input .line-input.num{width:80px}.line-price-input .line-input.num{width:84px}.line-price-input .btn-icon{width:24px;height:24px;font-size:12px}.line-info-btn{font-style:italic;font-weight:700}.line-codes-popover{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text)}.money-prefix{color:var(--muted);font-size:13px}.qty-input{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.qty-input .line-input.num{width:44px}.qty-unit{color:var(--muted);font-size:13px;white-space:nowrap}.section-optional{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}.section-intro{width:100%;margin:8px 0 4px;resize:vertical}.section-outro{width:100%;margin:8px 0 0}.collapsible-add,.collapsible-toggle{background:none;border:none;padding:2px 0;font-size:13px;font-weight:600;color:var(--primary);cursor:pointer}.collapsible-add:hover,.collapsible-toggle:hover{text-decoration:underline}.collapsible-toggle{display:block;margin-bottom:4px;color:var(--muted)}.collapsible-open .rte{margin-top:0}.section-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:8px}.section-subtotal{text-align:right;white-space:nowrap;display:flex;flex-direction:column;gap:2px}.section-subtotal-value{font-weight:600}.section-cadence{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}.section-discount{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--primary);margin-top:2px}.quote-no-total{text-align:right;font-size:13px;font-style:italic}.add-line{display:flex;align-items:center;gap:12px;flex:1}.btn-add-line{display:inline-flex;align-items:center;gap:8px;background:#e1f5e7;color:#1c7a3f;border:1px solid #b7e3c4;border-radius:var(--radius);padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer}.btn-add-line:hover{background:#d3eedc}.btn-add-note{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer}.btn-add-note:hover{background:#f0f3fb}.add-line-plus{font-size:16px;line-height:1}.add-note-right{margin-left:auto}.add-product-split{position:relative;display:inline-flex}.add-product-split .btn-add-line{border-top-right-radius:0;border-bottom-right-radius:0}.btn-add-line-caret{display:inline-flex;align-items:center;background:#e1f5e7;color:#1c7a3f;border:1px solid #b7e3c4;border-left:none;border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);padding:8px 9px;font-size:12px;cursor:pointer}.btn-add-line-caret:hover{background:#d3eedc}.add-product-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;list-style:none;margin:0;padding:4px;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.add-product-menu button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-sm);padding:8px 10px;font-size:14px;cursor:pointer;color:var(--text)}.add-product-menu button:hover{background:var(--surface-muted)}.line-note-row td{background:#fcfbf4}.line-note{display:flex;align-items:flex-start;gap:10px}.line-note-badge{flex-shrink:0;margin-top:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.product-picker{position:relative;min-width:170px}.product-picker input{width:100%}.add-line-search{position:relative;flex:1;max-width:420px}.add-line-search input{width:100%}.customer-search{position:relative;flex:1;max-width:360px}.customer-search input{width:100%}.typeahead-list--portal{right:auto;z-index:1000;overflow-x:hidden}.typeahead-list{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:100;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:280px;overflow-y:auto}.typeahead-option{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;background:none;border:none;text-align:left;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer}.typeahead-option:hover{background:#f0f3fb}.typeahead-meta{color:var(--muted);font-size:12px;white-space:nowrap}.typeahead-create{border-top:1px solid var(--border)}.typeahead-create .typeahead-name{color:var(--primary);font-weight:500}.header-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}.save-dirty{color:var(--danger)}.field-label.muted{color:var(--muted)}.quote-recap{margin-top:16px}.recap-title{margin:0 0 12px;font-size:16px;font-weight:700}.recap-row{display:flex;justify-content:space-between;gap:16px;padding:4px 0}.recap-optional,.recap-sub{color:var(--muted)}.recap-row.recap-sub:first-of-type{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.recap-total{font-weight:700;font-size:16px;margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.summary-card{background:#fbfcff}.summary-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-pill);padding:2px 10px;white-space:nowrap}.summary-empty{color:var(--muted);font-size:13px;margin:8px 0 0}.summary-groups{display:flex;flex-direction:column;gap:16px;margin-top:8px}.summary-group-title{margin:0 0 4px;font-size:14px;font-weight:700}.summary-table td{padding:4px 8px}.summary-table tfoot .summary-sub td{color:var(--muted);border-top:1px solid var(--border)}.summary-table tfoot .summary-total td{font-weight:700;border-top:1px solid var(--border)}.summary-table tfoot .summary-total-recurring td{font-weight:600;color:var(--muted)}.summary-table tfoot .summary-subtotal-row td,.summary-table tfoot .summary-discount-row td{font-weight:400;color:var(--muted)}.summary-section-row td{font-weight:600}.summary-cadence-row td{color:var(--muted);font-size:12px;padding-left:20px}.link-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e3c8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.link-modal-body{background:var(--surface);color:var(--text);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:20px 24px 16px;width:100%;max-width:560px;max-height:86vh;overflow-y:auto}.link-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.link-modal-header h2{margin:0;font-size:18px}.link-modal-group{margin-top:16px}.link-modal-group h3{margin:0 0 6px;font-size:14px;color:var(--muted)}.link-modal-name{font-weight:600}.link-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.send-quote-dialog{max-width:680px}.send-quote-dialog textarea{min-height:240px;resize:vertical}.product-search-modal{max-width:780px;height:78vh}.line-product-search{background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);padding:6px 10px;font-size:13px;cursor:pointer;width:100%;text-align:left}.line-product-search:hover{border-color:var(--primary);color:var(--primary)}.product-search-tabs,.product-search-mode{display:flex;gap:4px;margin-top:14px}.product-search-mode{margin-top:0;margin-bottom:10px}.product-search-tabs button,.product-search-mode button{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:5px 14px;font-size:13px;cursor:pointer;color:var(--muted)}.product-search-tabs button.active,.product-search-mode button.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:600}.product-search-panel{margin-top:14px}.product-search-table-wrap{margin-top:10px;max-height:340px;overflow:auto;border-radius:var(--radius-md)}.product-search-table th,.product-search-table td{padding:7px 10px;font-size:13px}.product-search-table thead th{position:sticky;top:0;z-index:1}.product-search-name{font-weight:600}.ps-thumb-col{width:44px}.ps-thumb-cell{width:44px;padding:4px 8px}.product-search-thumb-sm{width:34px;height:34px;object-fit:contain;display:block;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.product-search-lookup{display:flex;gap:8px;align-items:flex-start}.product-search-lookup>input{flex:1}.product-search-brandcode{display:flex;gap:8px;flex:1}.product-search-result{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}.product-search-result-head{display:flex;gap:12px;align-items:flex-start}.product-search-thumb{width:64px;height:64px;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.product-search-fields{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.product-search-fields label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.product-search-save{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px}.closing-block+.closing-block{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.cpq-threshold{display:flex;align-items:center;gap:12px;margin-top:8px}.cpq-bundle-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;max-width:560px}.cpq-product-picker{display:flex;flex-direction:column;gap:8px}.cpq-product-search{position:relative}.cpq-product-search input{width:100%}.cpq-selected{margin:0}.cpq-selected td{padding:6px 8px}.cpq-discount-input{display:flex;align-items:center;gap:8px}.combo-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}.combo-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.combo-card-head{display:flex;align-items:center;gap:10px}.combo-name{font-weight:600}.combo-badge{margin-left:auto;background:var(--primary-soft);color:var(--primary);font-weight:600;font-size:14px;border-radius:var(--radius-pill);padding:2px 12px;white-space:nowrap}.combo-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.combo-plus{color:var(--muted);font-weight:600}.combo-card-actions{display:flex;justify-content:flex-end;gap:6px}.section-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.rule-form{margin-top:12px;border:1px solid var(--border)}.rule-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.rule-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px;font-weight:600;color:var(--muted);cursor:pointer}.rule-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;max-width:760px}.field{display:flex;flex-direction:column;gap:4px}.field input,.field select{width:100%}.rule-conditions{display:flex;flex-direction:column;gap:10px;max-width:640px}.rule-condition-row{display:grid;grid-template-columns:200px 1fr auto;gap:8px;align-items:center}.rule-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.pubq{min-height:100vh;background:var(--bg);padding:32px 16px 64px}.pubq-inner{max-width:820px;margin:0 auto}.pubq-centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;color:var(--muted)}.pubq-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:20px 24px}.pubq-notfound{text-align:center;max-width:460px}.pubq-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px 28px;margin-bottom:20px}.pubq-top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:20px}.pubq-sender{max-width:60%}.pubq-logo{max-height:52px;max-width:240px;object-fit:contain}.pubq-logo-svg{display:inline-block}.pubq-logo-svg svg{max-height:52px;width:auto}.pubq-sender .muted{margin:6px 0 0}.pubq-issuer{text-align:right;font-size:13px;color:var(--muted)}.pubq-issuer strong{color:var(--text)}.pubq-address-cols{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:18px}.pubq-address{margin:4px 0 0;line-height:1.5}.pubq-address-cols .field-label{display:block;margin-top:10px}.pubq-address-cols .field-label:first-child{margin-top:0}.pubq-heading{display:flex;align-items:center;gap:12px}.pubq-heading h1{margin:0;font-size:24px}.pubq-meta{display:grid;grid-template-columns:auto auto;gap:3px 16px;margin:0;font-size:13px;align-content:start}.pubq-meta dt{color:var(--muted)}.pubq-meta dd{margin:0;text-align:right}.pubq-expired-badge{background:var(--danger);color:#fff;border-radius:var(--radius-pill);padding:2px 10px;font-size:12px;font-weight:600}.pubq-banner{border-radius:var(--radius-md);padding:14px 18px;margin-bottom:20px;font-weight:500;border:1px solid var(--border)}.pubq-banner.accepted{background:#e9f7ef;border-color:#b6e2c6;color:#1c6b3f}.pubq-banner.rejected{background:#fdeaea;border-color:#f2c2c2;color:#a12a2a}.pubq-banner.expired{background:#fdf3e6;border-color:#f2d9b3;color:var(--warning)}.pubq-customer{font-weight:600;margin:0 0 16px}.pubq-optional-hint{background:var(--primary-soft);color:var(--primary-hover);border-radius:var(--radius-sm);padding:10px 14px;margin:0 0 20px;font-size:13px}.pubq-section{margin-bottom:24px}.pubq-section.excluded{opacity:.55}.pubq-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.pubq-section-head h2{margin:0;font-size:18px}.pubq-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.pubq-badge{display:inline-block;background:var(--surface-muted);border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-pill);padding:1px 8px;font-size:11px;font-weight:600;margin-left:8px}.pubq-rich{color:var(--text);margin:6px 0;line-height:1.5}.pubq-rich.muted{color:var(--muted);font-size:13px}.pubq-section .table tr.excluded td{opacity:.5}.pubq-line-desc{display:flex;align-items:flex-start;gap:10px}.pubq-line-desc input[type=checkbox]{margin-top:3px}.pubq-line-img{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.pubq-note-row td{background:var(--surface-muted)}.pubq-totals{margin-top:8px;margin-left:auto;max-width:380px}.pubq-total-row{display:flex;justify-content:space-between;gap:24px;padding:6px 0}.pubq-total-row.strong{font-weight:700;font-size:16px;border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.pubq-recurring-head{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);font-size:12px;font-weight:600;color:var(--muted)}.pubq-vatnote{text-align:right;font-size:12px;margin:8px 0 0}.pubq-actions{display:flex;gap:12px;margin:24px 0 0}.pubq-soon{font-size:13px;margin:12px 0 0}.pubq-accept{margin-top:24px}.pubq-accept h3{margin:0 0 16px;font-size:18px}.pubq-accept-field{display:block;margin-bottom:16px}.pubq-accept-field .field-label{display:block;margin-bottom:4px}.pubq-accept-hint{margin:0 0 8px;font-size:13px}.signature-pad{display:block;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:crosshair}.pubq-signature-clear{margin-top:8px}.pubq-accept-agree{display:flex;align-items:flex-start;gap:8px;margin:4px 0 16px;cursor:pointer}.pubq-accept-agree input[type=checkbox]{margin-top:3px}.pubq-accept-error{color:var(--danger);font-size:13px;margin:0 0 12px}.pubq-accept-submit{width:100%}.pubq-reject-toggle{text-align:center;margin-top:12px}.pubq-reject-link{background:none;border:none;color:var(--muted);text-decoration:underline;font-size:13px;padding:4px 8px}.pubq-reject-link:hover{color:var(--danger)}.pubq-reject{margin-top:12px}.pubq-reject-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.pubq-footer{margin-top:32px;padding-top:16px;border-top:1px solid var(--border);font-size:13px}@media(max-width:560px){.pubq{padding:16px 10px 48px}.pubq-header{padding:18px 16px}}
