@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--text-color: #222;--border-radius: 8px;--border-color: var(--graphite-soft);--bv-white: #fff;--gray-25: #fdfdfd;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e9eaeb;--gray-300: #d5d7da;--gray-400: #a4a7ae;--gray-500: #717680;--gray-600: #535862;--gray-700: #414651;--gray-800: #252b37;--gray-900: #181d27;--moss-100: #e6f4d7;--moss-200: #ceeab0;--moss-300: #acdc79;--moss-400: #86cb3c;--moss-500: #669f2a;--error-color: #f04438;--warning-color: #fdb022;--success-color: #47cd89;--success-bg: #e6f7ed;--success-text: #1f7a3a;--warning-bg: #fff4e0;--warning-text: #8a5a00;--warning-banner-bg: #fff8e6;--warning-banner-border: #f3e0a8;--warning-banner-text: #5a4100;--warning-banner-icon: #b58100;--error-bg: #fdecec;--error-text: #b42318;--web-dark: #1a1a2e;--web-dark-mid: #2a2a40;--web-text-muted: #c5c8d4;--web-text-subtle: #a0a3b1;--web-green-dark: #059669;--web-green: #10b981;--web-hover-green: #5de0ba;--web-surface-1: rgba(255, 255, 255, .04);--web-surface-2: rgba(255, 255, 255, .05);--web-surface-3: rgba(255, 255, 255, .06);--web-surface-4: rgba(255, 255, 255, .08);--web-surface-5: rgba(255, 255, 255, .12);--web-border-subtle: rgba(255, 255, 255, .1);--web-border-medium: rgba(255, 255, 255, .15);--web-border-strong: rgba(255, 255, 255, .25);--web-border-muted: rgba(255, 255, 255, .3);--ink-veil: #f1f6fc;--ink-wash: #e3ecf8;--ink-soft: #aac0e0;--ink-line: #5d7aa8;--ink-mid: #13325f;--ink-deep: #061a3d;--paper-veil: #fdfbf7;--paper-wash: #faf7ef;--paper-soft: #f5f1e8;--paper-line: #e0d8bd;--paper-mid: #ebe5d3;--paper-deep: #d8d2bf;--graphite-veil: #f7f8fa;--graphite-wash: #eef0f3;--graphite-soft: #d8dce1;--graphite-line: #9aa0a8;--graphite-mid: #5b6168;--graphite-deep: #2f3338;--copper-veil: #fef3e7;--copper-wash: #fde6cf;--copper-soft: #f4c89d;--copper-line: #dc8b4f;--copper-mid: #b85b1f;--copper-deep: #8e3f10;--canvas-accent: var(--copper-mid);--canvas-surface: var(--gray-50);--steel-veil: #e6f1f9;--steel-wash: #cde2f2;--steel-soft: #84b3da;--steel-line: #3680b8;--steel-mid: #1466a1;--steel-deep: #08385c;--sage-veil: #f0f6ed;--sage-wash: #e1ecdb;--sage-soft: #aec9a3;--sage-line: #6a955f;--sage-mid: #3a6b3a;--sage-deep: #1f4720;--ochre-veil: #fdf5e5;--ochre-wash: #fbeacb;--ochre-soft: #f3d088;--ochre-line: #c89a32;--ochre-mid: #a3771a;--ochre-deep: #74540f;--brick-veil: #fdeee8;--brick-wash: #fadcd0;--brick-soft: #ecaa92;--brick-line: #cd6a47;--brick-mid: #962f15;--brick-deep: #6a1c08;--slate-veil: #f7f6f3;--slate-wash: #eeede7;--slate-soft: #d6d3c8;--slate-line: #9a948a;--slate-mid: #5a564d;--slate-deep: #322f29;--plum-veil: #f9edf2;--plum-wash: #f3dbe4;--plum-soft: #d7a5b8;--plum-line: #9c5f7e;--plum-mid: #5d2a45;--plum-deep: #3a1428;--font-sans: "Geist", system-ui, sans-serif;--font-mono: "Geist Mono", monospace;--font-serif: "Instrument Serif", serif;--text-size-2xs: 10px;--text-size-xs: 12px;--text-size-sm: 13px;--text-size-base: 14px;--text-size-md: 16px;--text-size-lg: 17px;--text-size-xl: 22px;--text-size-2xl: 28px;--text-size-3xl: 34px;--text-size-4xl: 44px;--text-on-ink: var(--paper-soft);--text-on-ink-muted: rgba(245, 241, 232, .72);--text-on-ink-faint: rgba(245, 241, 232, .4);--border-on-ink: rgba(245, 241, 232, .12);--grid-on-ink: rgba(245, 241, 232, .04);--surface-on-ink: rgba(245, 241, 232, .06);--surface-on-ink-strong: rgba(245, 241, 232, .1);--surface-paper: var(--paper-wash);--border-hairline: var(--paper-line);--border-accent: var(--copper-soft);--text-heading: var(--ink-deep);--surface-card: var(--bv-white);--surface-popover: var(--surface-card);--surface-subtle: var( --graphite-veil );--border-default: var(--graphite-soft);--border-subtle: var( --graphite-wash );--border-error: var(--brick-mid);--surface-error: var(--brick-veil);--text-error: var(--brick-mid);--border-warning: var(--ochre-line);--surface-warning: var(--ochre-veil);--text-primary: var(--gray-900);--text-secondary: var( --slate-mid );--text-muted: var(--graphite-line);--text-page-title: 40px;--text-page-desc: var(--text-size-sm);--text-breadcrumb: var( --text-size-2xs );--text-table-header: var( --text-size-2xs );--radius: 8px;--shadow: 0 4px 8px rgba(0, 0, 0, .1);--z-popover: 300;--ink: #0f1d35;--action: #1a2b4a;--action-deep: #0a162e;--accent: var(--copper-mid);--accent-deep: var(--copper-deep);--accent-veil: var(--copper-veil);--accent-wash: var(--copper-wash);--rust: #c98a3a;--steel: #2c4870;--alarm: #a83838;--alarm-deep: #842c2c;--bv-green: #4a6b56;--tbo-bg-card: var(--surface-card);--tbo-bg-overlay: rgba(0, 0, 0, .4);--tbo-border-color: var(--border-default);--tbo-border-light: var(--gray-100);--tbo-text-primary: var(--text-primary);--tbo-text-muted: var(--text-muted);--tbo-primary: var(--action);--tbo-error: var(--alarm);--tbo-warning: #fdb022;--tbo-success: #47cd89;--tbo-radius: var(--radius);--tbo-shadow: var(--shadow);--tbo-shadow-lg: 0 4px 8px rgba(0, 0, 0, .2);--tbo-z-popover: var(--z-popover);--tbo-z-modal: 1000;font-family:Roboto,Arial,sans-serif}a:link,a:visited,.link-inline:link,.link-inline:visited{text-decoration:none;color:var(--ink-mid)}a:hover,.link-inline:hover{text-decoration:underline}a:active,.link-inline:active{color:var(--action-deep)}.link-subtle,.link-subtle:link,.link-subtle:visited{color:var(--ink-mid);cursor:pointer;font-size:12px;text-decoration:underline}.link-subtle:hover{color:var(--action-deep)}.link-entity,.link-entity:link,.link-entity:visited{color:var(--accent);text-decoration:none;font-weight:400;cursor:pointer}.link-entity:hover{text-decoration:underline}.link-inherit,.link-inherit:link,.link-inherit:visited{color:inherit;text-decoration:none}.link-inherit:hover{text-decoration:underline}button{border:none;background:none;cursor:pointer;font:inherit;color:inherit;padding:0;margin:0}button:disabled{opacity:.5;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;padding:8px 12px;border-radius:var(--tbo-radius);background-color:var(--ink-mid);color:var(--paper-soft);font-size:12px;font-weight:600;cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;white-space:nowrap}.btn.primary i,.btn.outline i{color:var(--copper-mid)}.btn.sm{gap:5px;padding:5px 10px;font-size:11px;border-radius:6px}.btn.sm i{font-size:12px}.btn:hover:not(:disabled){background-color:var(--ink-deep)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.accent{background-color:var(--copper-mid);color:var(--paper-soft)}.btn.accent:hover:not(:disabled){background-color:var(--copper-deep)}.btn.secondary{background-color:#fff;color:var(--ink-mid);border:1px solid var(--paper-deep)}.btn.secondary:hover:not(:disabled){background-color:var(--paper-soft);color:var(--ink-mid);border-color:var(--paper-deep)}.btn.ghost{background-color:transparent;color:var(--ink-mid);border:1px solid transparent}.btn.ghost:hover:not(:disabled){color:var(--ink-mid);background-color:var(--paper-soft)}.btn.outline{background:var(--surface-card);color:var(--ink-mid);font-weight:500;border:1px solid var(--border-default)}.btn.outline:hover:not(:disabled){background-color:var(--surface-card);border-color:var(--ink-line);color:var(--text-heading)}.btn.danger{background-color:var(--tbo-error);color:var(--paper-soft)}.btn.danger:hover:not(:disabled){background-color:var(--alarm-deep)}.btn.danger-outline{background-color:transparent;color:var(--tbo-error);border:1px solid var(--tbo-error)}.btn.danger-outline:hover:not(:disabled){background-color:var(--tbo-error);color:var(--paper-soft)}.btn.w-full{width:100%}.split-btn{display:inline-flex;align-items:stretch;width:fit-content}.split-btn .split-btn-main{border-top-right-radius:0;border-bottom-right-radius:0}.split-btn .split-btn-caret{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:8px;padding-right:8px}.split-btn .split-btn-caret.outline{border-left:0}.btn.link{background:none;border:none;padding:0;color:var(--action);font-weight:400;text-decoration:none}.btn.link:hover:not(:disabled){color:var(--accent);background:none}.btn.link.danger:hover:not(:disabled){color:var(--tbo-error)}.btn.bare{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ink);color:var(--ink);font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:6px;cursor:pointer;transition:background .12s ease,color .12s ease;flex-shrink:0}.btn.bare:hover:not(:disabled){background:var(--ink);color:var(--paper-soft)}.icon-btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--tbo-radius);color:var(--tbo-text-primary);background-color:transparent;cursor:pointer;transition:background-color .15s ease;height:36px;width:36px;font-size:20px;flex-shrink:0}.icon-btn:hover:not(:disabled){background-color:var(--gray-100)}.icon-btn:disabled{color:var(--slate-soft);cursor:not-allowed;pointer-events:none}.icon-btn.on-ink{color:var(--text-on-ink-muted)}.icon-btn.on-ink:hover:not(:disabled){background-color:var(--surface-on-ink)}.icon-btn.on-ink:disabled{color:var(--text-on-ink-faint)}.icon-btn.active{background-color:var(--ink-wash);color:var(--action)}.icon-btn.active:hover:not(:disabled){background-color:var(--ink-wash)}.icon-btn.active .shortcut{color:var(--ink-soft)}.icon-btn.sm{height:26px;width:26px;font-size:14px}.icon-btn.filled{background-color:var(--gray-200)}.icon-btn.filled:hover:not(:disabled){background-color:var(--ink-wash)}.icon-btn.accent{background-color:var(--accent-veil);color:var(--accent-deep)}.icon-btn.accent:hover:not(:disabled){background-color:var(--accent-wash)}.icon-btn.outline{background:#fff;border:1px solid var(--gray-300)}.icon-btn.outline:hover:not(:disabled){background-color:var(--gray-100);border-color:var(--gray-300);color:var(--gray-900)}.icon-btn.danger:hover:not(:disabled){background-color:var(--tbo-error);color:var(--paper-soft)}.icon-btn.danger-subtle{color:var(--text-error)}.icon-btn.danger-subtle:hover:not(:disabled){background:var(--brick-veil)}.icon-btn.danger-subtle:disabled{color:var(--slate-soft)}.icon-btn.bare{background:none;color:var(--ink-soft);padding:4px}.icon-btn.bare:hover:not(:disabled){background:none;color:var(--ink)}.icon-btn.reveal{opacity:0;transition:opacity .1s ease,background-color .15s ease}.reveal-host:hover .icon-btn.reveal,.card:hover .icon-btn.reveal,.sidebar-nav-item:hover .icon-btn.reveal,.customer-detail-contact-card:hover .icon-btn.reveal,.customer-detail-location-card:hover .icon-btn.reveal{opacity:1}.icon-btn.toolbar-btn{height:40px;width:40px;position:relative}.icon-btn.toolbar-btn .shortcut{position:absolute;bottom:4px;right:4px;font-size:8px;color:var(--gray-600);pointer-events:none}.input-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--gray-400);padding:2px;border-radius:4px}.input-clear-btn:hover{color:var(--gray-600);background:var(--gray-100)}input[type=text],input[type=number],input[type=search],textarea,select{width:100%;padding:8px;font-family:var(--font-sans);font-size:14px;line-height:normal;border:1px solid var(--tbo-border-color);border-radius:var(--tbo-radius);box-sizing:border-box;height:auto;color:var(--tbo-text-primary);background-color:var(--tbo-bg-card)}textarea{padding:10px;resize:none;line-height:1.5}input[type=text].embedded,input[type=text].embedded:hover,input[type=text].embedded:focus,input[type=number].embedded,input[type=number].embedded:hover,input[type=number].embedded:focus,input[type=search].embedded,input[type=search].embedded:hover,input[type=search].embedded:focus,textarea.embedded,textarea.embedded:hover,textarea.embedded:focus{border:none;background:transparent;box-shadow:none;outline:none}.input-quiet{display:inline-flex;align-items:center;width:100%;border:1px solid transparent;border-radius:var(--tbo-radius);background:transparent;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.input-quiet:hover:not(:focus-within){border-color:var(--ink-line);background:var(--surface-card)}.input-quiet:focus-within{border-color:var(--ink-line);background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--ink-line)}.input-quiet.bad{border-color:var(--border-error);background:var(--surface-error)}.input-quiet.conflict{border-color:var(--border-warning);background:var(--surface-warning)}select{cursor:pointer}input[type=text]:hover:not(:focus):not(:disabled),input[type=number]:hover:not(:focus):not(:disabled),input[type=search]:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled){border-color:var(--ink-line)}input[type=text]:focus,input[type=number]:focus,input[type=search]:focus,textarea:focus,select:focus{border-color:var(--ink-line);box-shadow:inset 0 0 0 1px var(--ink-line);outline:none}input[type=text]:disabled,input[type=number]:disabled,input[type=search]:disabled,textarea:disabled,select:disabled{background-color:var(--gray-50);color:var(--gray-400);border-color:var(--gray-200);cursor:not-allowed;opacity:1}.select-wrap{position:relative;display:block;width:100%}.select-wrap select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px}.select-wrap:after{content:"";position:absolute;top:50%;right:13px;width:6px;height:6px;border-right:1.6px solid var(--text-muted);border-bottom:1.6px solid var(--text-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin-right:8px;vertical-align:middle;cursor:pointer}label:has(.ctrl-icon-empty){position:relative}label:has(.ctrl-icon-empty) input[type=checkbox],label:has(.ctrl-icon-empty) input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:absolute;left:0;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;margin:0;cursor:pointer}.ctrl-icon-empty,.ctrl-icon-checked{font-size:20px;line-height:1;color:var(--gray-500);flex-shrink:0;transition:color .15s ease}.ctrl-icon-checked{color:var(--ink-mid)}label input[type=checkbox]:not(:checked)~.ctrl-icon-checked,label input[type=radio]:not(:checked)~.ctrl-icon-checked{display:none}label input[type=checkbox]:checked~.ctrl-icon-empty,label input[type=radio]:checked~.ctrl-icon-empty{display:none}label input[type=checkbox]:hover:not(:disabled)~.ctrl-icon-empty,label input[type=radio]:hover:not(:disabled)~.ctrl-icon-empty{color:var(--ink-line)}label input[type=checkbox]:focus-visible~.ctrl-icon-empty,label input[type=checkbox]:focus-visible~.ctrl-icon-checked,label input[type=radio]:focus-visible~.ctrl-icon-empty,label input[type=radio]:focus-visible~.ctrl-icon-checked{outline:2px solid var(--ink-line);outline-offset:2px;border-radius:4px}label input[type=checkbox]:disabled~.ctrl-icon-empty,label input[type=checkbox]:disabled~.ctrl-icon-checked,label input[type=radio]:disabled~.ctrl-icon-empty,label input[type=radio]:disabled~.ctrl-icon-checked{color:var(--gray-300);cursor:not-allowed}label{display:block;font-family:var(--font-sans);font-size:12px;color:var(--graphite-deep);font-weight:400}label.required:after{content:" *";color:var(--tbo-error)}.input-group{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px}.checkbox-field,.radio-field{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-group{display:flex;flex-direction:column;gap:8px}.input-with-unit{position:relative;display:inline-block}.input-with-unit input{padding-right:24px}.input-with-unit input[type=number]::-webkit-outer-spin-button,.input-with-unit input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-with-unit input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.input-with-unit .unit-label{position:absolute;right:10px;top:55%;transform:translateY(-50%);font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-mid);pointer-events:none;font-size:10px;transition:opacity .15s ease}input.input-align-right{text-align:right;font-variant-numeric:tabular-nums}.input-with-prefix{position:relative;display:inline-block}.input-with-prefix input{padding-left:18px}.input-with-prefix .prefix-label{position:absolute;left:9px;top:55%;transform:translateY(-50%);font-family:var(--font-mono);color:var(--text-muted);pointer-events:none;font-size:10px}.input-with-unit input[type=number]:hover:not(.input-align-right)+.unit-label,.input-with-unit input[type=number]:focus:not(.input-align-right)+.unit-label{opacity:0;pointer-events:none}.input-with-unit input[type=number]:hover:not(.input-align-right),.input-with-unit input[type=number]:focus:not(.input-align-right){padding-right:8px}.input-with-icon{position:relative;display:inline-block}.input-with-icon input{padding-left:32px}.input-with-icon .input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-line);font-size:14px;pointer-events:none}.input-with-clear{position:relative;display:inline-block}.input-with-clear input{padding-right:32px}.input-with-unit,.input-with-prefix,.input-with-icon,.input-with-clear{width:100%}.input-with-icon.input-with-clear input{padding-left:32px;padding-right:32px}.field-size-sm input[type=text],.field-size-sm input[type=number],.field-size-sm input[type=search],.field-size-sm select,.field-size-sm textarea,input[type=text].field-size-sm,input[type=number].field-size-sm,input[type=search].field-size-sm,select.field-size-sm,textarea.field-size-sm{font-size:13px;padding:6px 8px;border-radius:6px}.field-size-xs input[type=text],.field-size-xs input[type=number],.field-size-xs input[type=search],.field-size-xs select,.field-size-xs textarea,input[type=text].field-size-xs,input[type=number].field-size-xs,input[type=search].field-size-xs,select.field-size-xs,textarea.field-size-xs{font-size:11px;padding:4px 6px;border-radius:4px}.field-size-xs .input-with-icon input,.input-with-icon.field-size-xs input{padding-left:22px}.field-size-xs .input-with-icon .input-icon,.input-with-icon.field-size-xs .input-icon{left:6px;font-size:11px}.field-size-xs .input-with-clear input,.input-with-clear.field-size-xs input{padding-right:22px}.field-size-xs .input-with-unit input,.input-with-unit.field-size-xs input{padding-right:16px}.field-size-xs .input-with-unit .unit-label,.input-with-unit.field-size-xs .unit-label{right:4px;font-size:8px}.field-size-sm .input-with-icon input,.input-with-icon.field-size-sm input{padding-left:26px}.field-size-sm .input-with-icon .input-icon,.input-with-icon.field-size-sm .input-icon{left:8px;font-size:12px}.field-size-sm .input-with-clear input,.input-with-clear.field-size-sm input{padding-right:26px}.field-size-sm .input-with-unit input,.input-with-unit.field-size-sm input{padding-right:20px}.field-size-sm .input-with-unit .unit-label,.input-with-unit.field-size-sm .unit-label{right:6px;font-size:9px}.field-size-sm .input-with-unit input[type=number]:hover:not(.input-align-right),.input-with-unit.field-size-sm input[type=number]:hover:not(.input-align-right),.field-size-sm .input-with-unit input[type=number]:focus:not(.input-align-right),.input-with-unit.field-size-sm input[type=number]:focus:not(.input-align-right),.field-size-xs .input-with-unit input[type=number]:hover:not(.input-align-right),.input-with-unit.field-size-xs input[type=number]:hover:not(.input-align-right),.field-size-xs .input-with-unit input[type=number]:focus:not(.input-align-right),.input-with-unit.field-size-xs input[type=number]:focus:not(.input-align-right){padding-right:8px}.menu-label{font-family:var(--font-mono);font-size:10px;color:var(--graphite-mid);font-weight:500;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.menu-label-xs{font-family:var(--font-mono);font-size:9px;color:var(--graphite-mid);font-weight:500;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}input[type=number].no-arrow::-webkit-outer-spin-button,input[type=number].no-arrow::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-arrow{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.input-with-unit input[type=number]:hover:not(.input-align-right)::-webkit-outer-spin-button,.input-with-unit input[type=number]:hover:not(.input-align-right)::-webkit-inner-spin-button,.input-with-unit input[type=number]:focus:not(.input-align-right)::-webkit-outer-spin-button,.input-with-unit input[type=number]:focus:not(.input-align-right)::-webkit-inner-spin-button{-webkit-appearance:auto}.input-with-unit input[type=number]:hover:not(.input-align-right),.input-with-unit input[type=number]:focus:not(.input-align-right){-webkit-appearance:auto;appearance:auto;-moz-appearance:auto}.input-error{border-color:var(--brick-mid)!important}input[type=text].input-error,input[type=number].input-error,input[type=search].input-error,textarea.input-error,select.input-error{border-color:var(--brick-mid);box-shadow:0 0 0 3px var(--brick-veil)}.form-field-error{color:var(--tbo-error);font-size:12px;margin-top:4px}input.col-input{width:90px}#buildingHeight{width:86px}.hidden{display:none!important}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:fit-content}.min-w-0{min-width:0}.min-h-0{min-height:0}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.truncate,.truncate-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.border{border:1px solid var(--tbo-border-color)}.border-0{border:none}.rounded{border-radius:var(--tbo-radius)}.rounded-sm{border-radius:4px}.rounded-lg{border-radius:12px}.rounded-full{border-radius:9999px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.key-combo{display:inline-flex;align-items:center;gap:3px}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-family:inherit;font-size:11px;font-weight:400;color:var(--ink-line);background:#eef1f7;border:1px solid var(--ink-soft);border-radius:4px}kbd.on-ink{color:var(--text-on-ink);background:var(--surface-on-ink);border-color:var(--border-on-ink)}kbd.sm{min-width:18px;height:18px;padding:0 4px;font-size:10px}kbd.xs{min-width:16px;height:16px;padding:0 3px;font-size:9px}.icon-disc{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink-wash);color:var(--ink-mid)}.icon-disc.accent{background:var(--surface-paper);color:var(--accent)}.icon-disc.xs{width:28px;height:28px;font-size:15px}.icon-disc.sm{width:36px;height:36px;font-size:18px}.icon-disc.md{width:48px;height:48px;font-size:24px}.icon-disc.lg{width:56px;height:56px;font-size:28px}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--graphite-soft);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--graphite-line)}button.more-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;border-radius:6px;cursor:pointer;color:var(--gray-400);font-size:16px;flex-shrink:0;opacity:0;transition:opacity .1s ease,background .1s ease}:hover>button.more-btn{opacity:1}button.more-btn:hover{background:var(--gray-200);color:var(--gray-700)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.spin{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin-complete{animation:pop .3s}@keyframes pop{0%{transform:scale(1) rotate(0)}to{transform:scale(1.2) rotate(360deg)}}.sidebar-nav{width:240px;min-width:240px;height:100vh;display:flex;flex-direction:column;background:var(--ink-deep);border-right:1px solid var(--border-on-ink);overflow:hidden;transition:width .2s ease,min-width .2s ease}.sidebar-nav.collapsed{width:56px;min-width:56px}.sidebar-nav.collapsed .sidebar-nav-search>span,.sidebar-nav.collapsed .sidebar-nav-search-hint,.sidebar-nav.collapsed .sidebar-nav-link>span,.sidebar-nav.collapsed .sidebar-nav-link .key-combo,.sidebar-nav.collapsed .sidebar-nav-section-header,.sidebar-nav.collapsed .sidebar-nav-items,.sidebar-nav.collapsed .sidebar-nav-sublinks,.sidebar-nav.collapsed .sidebar-nav-group-caret{display:none}.sidebar-nav.collapsed .sidebar-nav-logo,.sidebar-nav.collapsed .sidebar-nav-search,.sidebar-nav.collapsed .sidebar-nav-links .sidebar-nav-link{justify-content:center;align-self:center;margin-left:auto;margin-right:auto}.sidebar-nav.collapsed .sidebar-nav-links .sidebar-nav-link{padding-left:12px;padding-right:12px}.sidebar-nav.collapsed .sidebar-nav-search{padding-left:8px;padding-right:8px}.sidebar-nav.collapsed .sidebar-nav-logo{padding-left:0;padding-right:0}.sidebar-nav-logo-mark,.sidebar-nav.collapsed .sidebar-nav-logo-full{display:none}.sidebar-nav.collapsed .sidebar-nav-logo-mark{display:block}.sidebar-collapse-toggle{margin-left:auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;background:none;cursor:pointer;color:var(--text-on-ink-muted);border-radius:6px;transition:background .1s ease}.sidebar-collapse-toggle:hover{background:var(--surface-on-ink)}.sidebar-collapse-toggle i{font-size:16px}.sidebar-nav.collapsed .sidebar-collapse-toggle{display:none;margin-left:0}.sidebar-nav.collapsed .sidebar-collapse-toggle i{transform:rotate(180deg)}.sidebar-nav.collapsed:hover .sidebar-nav-logo-mark{display:none}.sidebar-nav.collapsed:hover .sidebar-collapse-toggle{display:flex}.sidebar-nav-logo{display:flex;align-items:center;padding:20px 16px}.sidebar-nav-logo img{height:32px;width:auto}.sidebar-nav-search{display:flex;align-items:center;gap:8px;margin:0 12px 16px;padding:8px 12px;border-radius:8px;border:1px solid var(--border-on-ink);background:var(--surface-on-ink);color:var(--text-on-ink-muted);font-size:13px;cursor:pointer;transition:background .15s ease;white-space:nowrap;overflow:hidden}.sidebar-nav-search:hover{background:var(--surface-on-ink-strong)}.sidebar-nav-search-hint{margin-left:auto}.sidebar-nav-section-header{display:flex;align-items:center;gap:4px;padding:8px 16px;margin-bottom:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-on-ink-muted);position:relative}.sidebar-nav-section-header:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:1px;background:var(--border-on-ink)}.sidebar-nav-back-group{display:flex;align-items:center;gap:2px;background:none;border:none;color:inherit;cursor:pointer;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;height:22px;transition:color .15s ease}.sidebar-nav-back-group i{font-size:14px}.sidebar-nav-back-group:hover{color:var(--accent);background:none!important}.sidebar-nav-context{flex:1;min-height:0;display:flex;flex-direction:column}.sidebar-nav-items{display:flex;flex-direction:column;gap:2px;padding:0 8px;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:14px;color:var(--text-on-ink);cursor:pointer;flex-shrink:0;transition:background .1s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav-item.unassigned{opacity:.45}.sidebar-nav-item.unassigned:hover{opacity:.7}.sidebar-nav-item:hover{background:var(--surface-on-ink)}.sidebar-nav-item.active{background:var(--surface-on-ink-strong);color:var(--text-on-ink);box-shadow:inset 0 0 0 1px var(--border-on-ink)}.sidebar-nav-item.active i{color:var(--accent)}.sidebar-nav-item i{font-size:16px;flex-shrink:0}.sidebar-nav-links{display:flex;flex-direction:column;gap:2px;padding:0 8px 16px}.sidebar-nav-links .sidebar-nav-link{display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;font-size:14px;color:var(--text-on-ink);text-decoration:none;cursor:pointer;transition:background .1s ease;white-space:nowrap;overflow:hidden}.sidebar-nav-link:hover{background:var(--surface-on-ink)}.sidebar-help-link{box-shadow:inset 0 0 0 1px var(--border-on-ink)}.sidebar-nav-link.active{background:var(--copper-deep);color:var(--text-on-ink)}.sidebar-nav-link.active i{color:var(--text-on-ink)}.sidebar-nav-link i{font-size:16px;flex-shrink:0}.sidebar-nav-group{display:flex;flex-direction:column}.sidebar-nav-group-caret{margin-left:auto;font-size:13px;color:var(--text-on-ink-muted);transition:transform .15s ease}.sidebar-nav-group.open .sidebar-nav-group-caret{transform:rotate(90deg)}.sidebar-nav-group.has-active>.sidebar-nav-link.is-group{color:var(--text-on-ink)}.sidebar-nav-group.has-active>.sidebar-nav-link.is-group i:first-child{color:var(--accent)}.sidebar-nav-sublinks{display:flex;flex-direction:column;gap:2px;margin:2px 0 2px 26px;padding-left:10px;border-left:1px solid var(--border-on-ink)}.sidebar-nav-group:not(.open) .sidebar-nav-sublinks{display:none}.sidebar-nav-links .sidebar-nav-sublink{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;font-size:13px;color:var(--text-on-ink);text-decoration:none;cursor:pointer;white-space:nowrap;overflow:hidden;transition:background .1s ease}.sidebar-nav-links .sidebar-nav-sublink:hover{background:var(--surface-on-ink)}.sidebar-nav-links .sidebar-nav-sublink.active{background:var(--copper-deep);color:var(--text-on-ink)}.sidebar-nav-sublink i{font-size:14px;flex-shrink:0}.sidebar-back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;color:var(--text-on-ink-muted);background:none;border:none;cursor:pointer;width:100%;transition:color .1s ease}.sidebar-back-btn:hover{color:var(--accent)}.sidebar-back-btn i{font-size:14px}.sidebar-nav-item-text{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.sidebar-nav-item-sub{font-size:11px;color:var(--text-on-ink-muted);font-weight:400}.sidebar-nav-item-creator{color:var(--text-on-ink-muted)}.sidebar-nav-item-lock{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--copper-line)}.sidebar-nav-item-lock i{font-size:12px;position:relative;top:-1px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.card{display:flex;flex-direction:column;padding:12px 20px 20px;background:#fff;border:1px solid var(--gray-100);border-radius:12px;min-height:160px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.card-interactive{cursor:pointer;transition:all .15s ease}.card-interactive:hover{border-color:var(--gray-200);box-shadow:0 4px 12px #0000001a,0 2px 4px #0000000f}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.card-title-row .card-title{margin-bottom:0}.card-title{font-size:15px;font-weight:500;color:var(--gray-900);line-height:1.3;margin-bottom:8px}.card-project-number{font-size:12px;color:var(--gray-400);margin-top:-4px;margin-bottom:8px}.card-illustration{width:100%;height:120px;object-fit:contain;opacity:.9;margin-bottom:12px;margin-top:2px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-meta{display:flex;flex-direction:column;gap:6px}.card-meta-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-400)}.card-meta-row i{font-size:14px;flex-shrink:0}.card-thumbnail{position:relative;max-height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-thumbnail img{border-radius:4px}.card-thumbnail i{font-size:40px;color:var(--gray-200)}.card-thumbnail-time{position:absolute;top:4px;left:0;font-size:10px;font-weight:500;color:var(--paper-soft);background:var(--steel-mid);padding:3px 8px;border-radius:20px}.card-thumbnail-more.icon-btn{position:absolute;top:4px;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:6px}.card-thumbnail-more i{font-size:18px;color:var(--gray-400)}.card.card-thumbnail-card{padding:8px 12px;overflow:hidden;background:transparent;border-color:transparent;border-radius:6px;box-shadow:none}.card-thumbnail-card.card-interactive:hover{background:#1a2b4a0f;border-color:transparent;box-shadow:none}.card-thumbnail-info{padding:8px 0 0;background:transparent}.card-thumbnail-name{font-size:13px;font-weight:400;color:var(--gray-900);line-height:1.3;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-thumbnail-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-thumbnail-text-group{display:flex;flex-direction:column;gap:4px;min-width:0}.card-thumbnail-text-group .card-thumbnail-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-thumbnail-stats{display:flex;align-items:center;gap:10px}.card-thumbnail-stat{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--gray-500)}.card-thumbnail-stat i{font-size:13px}.action-btn-group{display:flex;align-items:center;gap:8px}.card-grid-drawings{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:24px;font-family:var(--font-mono);font-size:var(--text-breadcrumb);text-transform:uppercase;letter-spacing:.13em;color:var(--accent)}.breadcrumb-segment{color:var(--accent)}.breadcrumb-segment.clickable{cursor:pointer;transition:color .15s ease}.breadcrumb-segment.clickable:hover{color:var(--accent-deep)}.breadcrumb-sep{color:var(--accent);opacity:.5}.breadcrumb-current{color:var(--accent)}.search-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;background:#0000004d}.search-palette{width:500px;min-height:300px;max-height:400px;background:#fff;border-radius:12px;box-shadow:0 16px 70px #00000026,0 0 0 1px #0000000d;display:flex;flex-direction:column;overflow:hidden}.search-palette-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--gray-200)}.search-palette-input-row i{font-size:18px;color:var(--gray-400);flex-shrink:0}.search-palette-input{flex:1;border:none;outline:none;font-size:15px;font-family:inherit;color:var(--gray-900);background:none}.search-palette-input::placeholder{color:var(--gray-400)}.search-palette-results{overflow-y:auto;padding:6px 14px;flex:1;display:flex;flex-direction:column}.search-palette-category-header{padding:8px 10px 4px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-400)}.search-palette-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .08s ease}.search-palette-item:hover,.search-palette-item.active{background:var(--gray-100)}.search-palette-item i{font-size:16px;color:var(--gray-400);flex-shrink:0}.search-palette-item-text{display:flex;align-items:baseline;gap:8px;min-width:0}.search-palette-item-label{font-size:14px;font-weight:500;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-palette-item-desc{font-size:12px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-palette-show-more{justify-content:center;gap:6px;color:var(--gray-400);font-size:12px;font-weight:500}.search-palette-show-more i{font-size:12px;color:var(--gray-400)}.search-palette-footer{display:flex;align-items:center;justify-content:center;gap:24px;padding:8px 16px;border-top:1px solid var(--gray-200);margin-top:auto}.search-palette-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-400)}.search-palette-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:24px;gap:12px}.search-palette-empty-illustration{width:140px;height:auto;opacity:.8}.search-palette-empty p{font-size:13px;color:var(--gray-400);margin:0}.account-trigger{position:fixed;top:20px;left:20px;width:220px;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--gray-200);border-radius:8px;background:#fff;cursor:pointer;z-index:100;box-shadow:0 2px 4px #00000014}.account-trigger--bottom{position:static;width:100%;border:none;border-top:1px solid var(--gray-200);border-radius:0;box-shadow:none;background:inherit;padding:12px 16px}.account-trigger--bottom .account-trigger-text{flex:1}.account-trigger:hover{background:var(--gray-50)}.account-trigger .account-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.account-trigger-text{display:flex;flex-direction:column;overflow:hidden;text-align:left}.account-name{font-size:13px;font-weight:600;color:var(--gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-email{font-size:11px;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav .account-trigger--bottom{border-top-color:var(--border-on-ink)}.sidebar-nav .account-trigger:hover{background:var(--surface-on-ink)}.sidebar-nav .account-name{color:var(--text-on-ink)}.sidebar-nav .account-email{color:var(--text-on-ink-muted)}.sidebar-nav .account-trigger>i{color:var(--text-on-ink-muted)}.sidebar-nav.collapsed .account-trigger{justify-content:center;padding:8px 0;margin:0 4px}.sidebar-nav.collapsed .account-trigger-text,.sidebar-nav.collapsed .account-trigger>i{display:none}.account-popover-header{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 12px}.account-popover-org-avatar{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0}.account-popover-org-initial{width:32px;height:32px;border-radius:6px;background:var(--ink-mid);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.account-popover-header-text{display:flex;flex-direction:column;overflow:hidden}.account-popover-header-label{font-size:13px;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover-header-sub{font-size:12px;color:var(--gray-400)}.org-list-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:9999}.org-list-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000}.org-list-container>.tbo-modal-close{position:absolute;top:12px;right:12px;z-index:1;cursor:pointer}.avatar{border-radius:50%;object-fit:cover;flex-shrink:0;display:block}.avatar-sm{width:24px;height:24px;min-width:24px;min-height:24px}.avatar-md{width:34px;height:34px;min-width:34px;min-height:34px}.avatar-icon{border-radius:50%;flex-shrink:0;color:var(--gray-400)}.avatar-icon-sm{width:24px;height:24px;font-size:24px}.avatar-icon-md{width:34px;height:34px;font-size:34px}.dashboard-page{font-family:Roboto,Arial,sans-serif;color:var(--gray-900);background:var(--gray-50)}.dashboard-filter-bar,.dashboard-filter-member{display:flex;align-items:center;gap:8px}.dashboard-filter-member-text{display:flex;flex-direction:column;gap:1px;font-size:13px;color:var(--gray-700)}.dashboard-filter-member-email{font-size:11px;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:125px}.dashboard-grid-container{width:100%;min-height:0}.grid-stack{min-height:400px}.grid-stack-item-content{background:transparent;border:none;overflow:hidden;display:flex;flex-direction:column}.dashboard-edit-mode .grid-stack-item-content{outline:2px dashed var(--gray-300);outline-offset:-1px;cursor:grab}.dashboard-edit-mode .grid-stack-item-content:active{cursor:grabbing}.dashboard-widget{display:flex;flex-direction:column;height:100%;overflow:hidden}.dashboard-widget-header{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px 6px;flex-shrink:0;background:transparent}.dashboard-widget-title{font-size:12px;font-weight:500;color:var(--gray-400);text-transform:uppercase;letter-spacing:.04em}.dashboard-widget-count{font-size:12px;color:var(--gray-400);font-weight:400}.dashboard-widget-body{flex:1;overflow-y:auto;padding:12px 16px 16px;min-height:0;background:#fff;border:1px solid var(--gray-200);border-radius:10px}.dashboard-projects-table-card{overflow:hidden;display:flex;flex-direction:column}.dashboard-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;text-align:center}.dashboard-empty-state-text{font-size:13px;color:var(--gray-400)}.dashboard-stat-widget{height:100%;background:#fff;border:1px solid var(--graphite-soft);border-radius:12px;box-shadow:0 1px 2px #061a3d0a;overflow:hidden;position:relative;transition:border-color .15s ease,box-shadow .15s ease}.dashboard-stat-widget:hover{border-color:var(--ink-soft);box-shadow:0 6px 16px #061a3d14}.dashboard-stat-card{display:flex;flex-direction:column;padding:15px 16px 0}.dashboard-stat-icon{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.dashboard-stat-info{display:flex;flex-direction:column;gap:4px;min-width:0}.dashboard-stat-label{font-family:var(--font-mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-line);padding-right:44px}.dashboard-stat-value-row{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.dashboard-stat-value{font-family:var(--font-serif);font-size:35px;font-weight:400;color:var(--ink-deep);line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-stat-unit{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--slate-line)}.dashboard-stat-sparkline-wrap{position:absolute;bottom:0;left:0;right:0;height:46px;pointer-events:none}.dashboard-stat-sparkline{width:100%;height:100%;display:block}.dashboard-stat-accent-steel .dashboard-stat-icon{background:var(--steel-veil);color:var(--steel-line)}.dashboard-stat-accent-ochre .dashboard-stat-icon{background:var(--ochre-veil);color:var(--ochre-line)}.dashboard-stat-accent-sage .dashboard-stat-icon{background:var(--sage-veil);color:var(--sage-line)}.dashboard-stat-accent-copper .dashboard-stat-icon{background:var(--copper-veil);color:var(--copper-line)}.dashboard-stat-accent-brick .dashboard-stat-icon{background:var(--brick-veil);color:var(--brick-line)}.dashboard-stat-accent-ink .dashboard-stat-icon{background:var(--ink-veil);color:var(--ink-line)}.dashboard-leaderboard{display:flex;flex-direction:column;gap:6px}.dashboard-leaderboard-row{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:4px}.dashboard-leaderboard-row:hover{background:var(--gray-50)}.dashboard-leaderboard-rank{width:20px;font-size:12px;font-weight:600;color:var(--gray-400);text-align:center;flex-shrink:0}.dashboard-leaderboard-info{display:flex;flex-direction:column;gap:1px;width:140px;flex-shrink:0}.dashboard-leaderboard-name{font-size:13px;font-weight:500;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-leaderboard-email{font-size:11px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-leaderboard-bar-wrap{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.dashboard-leaderboard-bar{height:22px;border-radius:4px;min-width:4px;opacity:1;transition:width .3s ease}.dashboard-leaderboard-count{font-size:12px;font-weight:600;color:var(--gray-700);font-variant-numeric:tabular-nums;flex-shrink:0}.dashboard-drawings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.dashboard-drawings-grid .card-thumbnail{height:90px}.dashboard-feed-list{display:flex;flex-direction:column;position:relative}.dashboard-feed-list:before{content:"";position:absolute;left:20px;top:40px;bottom:12px;width:2px;background:var(--gray-200)}.dashboard-feed-item{display:flex;align-items:flex-start;gap:10px;padding:8px 4px;border-radius:6px;position:relative}.dashboard-feed-content{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;padding-top:2px}.dashboard-feed-name-row{display:flex;align-items:baseline;gap:6px}.dashboard-feed-name{font-size:13px;font-weight:500;color:var(--gray-700)}.dashboard-feed-time{font-size:11px;color:var(--gray-400);font-weight:400;white-space:nowrap}.dashboard-feed-description{font-size:13px;color:var(--gray-500);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-feed-file-card{margin-top:6px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:#fff;max-width:280px}.dashboard-feed-file-card.is-clickable{cursor:pointer;transition:background-color .1s}.dashboard-feed-file-card.is-clickable:hover{background:var(--gray-100)}.dashboard-feed-file-card.is-removed{opacity:.55}.dashboard-feed-file-icon{flex-shrink:0;font-size:36px;width:36px;text-align:center;line-height:1}.dashboard-feed-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.dashboard-feed-file-name{font-size:12px;font-weight:400;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-feed-file-size{font-size:11px;color:var(--gray-400)}.dashboard-projects-header{display:grid;gap:16px;padding:6px 12px;font-size:11px;font-weight:500;color:var(--gray-400);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--gray-100);flex-shrink:0}.dashboard-projects-body{display:flex;flex-direction:column;overflow-y:auto;min-height:0}.dashboard-projects-row{display:grid;gap:16px;padding:8px 12px;align-items:center;font-size:13px;cursor:pointer;border-radius:4px;transition:background-color .1s ease}.dashboard-projects-row+.dashboard-projects-row{border-top:1px solid var(--gray-50)}.dashboard-projects-row:hover{background-color:var(--gray-50)}.dashboard-table-cell-text{color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-table-cell-number{color:var(--gray-700);text-align:right;font-variant-numeric:tabular-nums}.dashboard-table-cell-stack{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--gray-700)}.dashboard-table-cell-sub{font-size:11px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-table-cell-badge{display:flex;align-items:center}.dashboard-table-header-cell{-webkit-user-select:none;user-select:none}.dashboard-table-header-cell:hover{color:var(--gray-600)}.dashboard-widget-actions{display:none;align-items:center;gap:4px}.dashboard-edit-mode .dashboard-widget-actions{display:flex}.icon-btn.dashboard-widget-remove,.icon-btn.dashboard-widget-config{display:none}.dashboard-edit-mode .icon-btn.dashboard-widget-remove,.dashboard-edit-mode .icon-btn.dashboard-widget-config{display:flex}.dashboard-stat-widget .icon-btn.dashboard-widget-remove{position:absolute;top:6px;right:6px}.dashboard-stat-widget .icon-btn.dashboard-widget-config{position:absolute;top:6px;left:6px;z-index:1}.dashboard-stat-widget{position:relative}.dashboard-stat-widget .dashboard-widget-actions{position:absolute;top:6px;right:6px;display:none;gap:8px}.dashboard-edit-mode .dashboard-stat-widget .dashboard-widget-actions{display:flex}.grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;left:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px #0003;opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack>.grid-stack-item[gs-x="0"]{left:0}.bp-tabs{position:sticky;top:0;z-index:2;background:var(--surface-subtle);display:flex;align-items:center;gap:18px;padding-bottom:12px}.bp-layout{display:grid;grid-template-columns:1fr 332px;gap:30px;align-items:start;margin-top:18px}@media (max-width: 1140px){.bp-layout{grid-template-columns:1fr}.bp-rail{order:-1}}.bp-tables{display:flex;flex-direction:column;gap:22px;min-width:0}.bp-rail{position:sticky;top:70px}.bp-test{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.bp-test-head{padding:15px 17px 14px;border-bottom:1px solid var(--border-subtle)}.bp-test-kick{font-family:var(--font-mono);font-size:var(--text-breadcrumb);text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.bp-test-title{font-family:var(--font-serif);font-size:var(--text-size-xl);color:var(--text-heading);margin-top:5px}.bp-test-body{display:flex;flex-direction:column;gap:12px;padding:15px 17px}.bp-test-body input,.bp-test-body select{font-size:var(--text-size-sm)}.bp-test-body .unit-label,.bp-test-body .prefix-label{font-size:11px}.bp-test-dims{display:flex;flex-wrap:wrap;gap:10px}.bp-rate-row{display:flex;gap:10px}.bp-rate-row>*{flex:1;min-width:0}.bp-test-result{margin-top:4px;padding:15px 16px;border-radius:10px;background:var(--ink-deep);color:var(--text-on-ink)}.bp-test-result.is-muted{background:var(--surface-subtle);color:var(--text-muted);font-size:var(--text-page-desc)}.bp-result-lab{font-family:var(--font-mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--text-on-ink-muted)}.bp-result-val{margin-top:5px;font-family:var(--font-serif);font-size:var(--text-size-4xl);line-height:1;font-variant-numeric:tabular-nums}.bp-test-result.is-labor{text-align:center}.bp-test-result.is-labor .bp-result-lab{color:var(--ink-soft)}.bp-result-2{display:flex;gap:14px;margin-top:12px}.bp-r2{flex:1}.bp-r2-lab{font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.bp-r2-hrs{margin-top:4px;font-family:var(--font-serif);font-size:var(--text-size-3xl);line-height:1;color:var(--text-on-ink);font-variant-numeric:tabular-nums}.bp-r2-u{margin-left:4px;font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--text-on-ink-muted)}.bp-r2-cost{margin-top:6px;font-family:var(--font-mono);font-size:12px;color:var(--copper-soft);font-variant-numeric:tabular-nums}.bp-result-qty{color:var(--text-on-ink-muted)}.bp-result-total{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}.bp-rt-mh{font-family:var(--font-serif);font-size:var(--text-size-xl);line-height:1;color:var(--text-on-ink);font-variant-numeric:tabular-nums}.bp-rt-mh-u{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.bp-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:11px;overflow:hidden}.bp-card-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.bp-card .ui-table{border:none;border-radius:0}.bp-card-title{font-family:var(--font-serif);font-weight:400;font-size:var(--text-size-xl);line-height:1;color:var(--text-heading)}.bp-empty{padding:22px 16px;font-size:var(--text-page-desc);color:var(--text-muted)}.bp-sparse{display:flex;align-items:flex-start;gap:8px;padding:10px 16px;background:var(--steel-veil);border-top:1px solid var(--steel-wash);font-size:12px;line-height:1.4;color:var(--steel-deep)}.bp-sparse i{flex-shrink:0;font-size:14px;line-height:1.35;color:var(--steel-line)}.bp-head-spacer{flex:1}.bp-helper{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;background:var(--graphite-wash);border-bottom:1px solid var(--graphite-soft)}.bp-helper-body{display:flex;align-items:baseline;gap:8px;min-width:0}.bp-helper-lead{font-size:12px;color:var(--ink-deep)}.bp-helper-msg{font-size:12px;color:var(--brick-mid)}.bp-helper-hint{flex-shrink:0;font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--slate-line)}.ui-table tbody tr.bp-draft-row>td,.ui-table-data tbody tr.bp-draft-row:hover>td{background:var(--graphite-wash);vertical-align:middle}.ui-table tbody tr.bp-draft-row>td:first-child{box-shadow:inset 3px 0 0 var(--copper-mid)}.input-quiet.bp-draft-field:not(.bad){background:var(--surface-card)}.input-quiet.bp-draft-field:not(:hover):not(:focus-within):not(.bad){border-color:var(--graphite-soft)}@keyframes bp-row-saved{0%{background:var(--sage-veil)}to{background:transparent}}.ui-table tbody tr.bp-row-saved>td{animation:bp-row-saved 1.1s ease-out}.bp-draft-actions{display:flex;justify-content:flex-end;gap:4px}.bp-draft-actions .bp-draft-confirm.icon-btn{background:var(--copper-mid);border-color:var(--copper-mid);color:var(--surface-card)}.bp-draft-actions .bp-draft-confirm.icon-btn:hover{background:var(--copper-deep);border-color:var(--copper-deep)}.bp-draft-actions .bp-draft-cancel.icon-btn{color:var(--graphite-line)}.bp-draft-actions .bp-draft-cancel.icon-btn:hover{background:var(--graphite-wash);color:var(--ink-deep)}.bp-spacer{width:100%}.bp-actcol{width:60px}.ui-table-data thead th.bp-col-num{padding-right:22px}.bp-col-prefix input{padding-right:0}.bp-cell{width:96px}.projects-page{color:var(--text-color)}.projects-main{flex:1;display:flex;flex-direction:column}.page-scroll .page-inner.projects{min-height:100%;display:flex;flex-direction:column}.projects-attachments-section{padding:8px 0 20px;border-bottom:1px solid #f2f4f7;margin-bottom:24px}.projects-main-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px;margin-top:-100px}.projects-main-empty-illustration{width:320px;height:auto;opacity:.85}.projects-main-empty-text{font-size:15px;color:var(--gray-400);margin:0}.projects-main-header-detail{display:flex;flex-direction:column;gap:4px;margin-top:4px}.projects-main-header-detail-row{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-400)}.unassigned-section{margin-top:40px;border-top:1px solid var(--gray-200);padding-top:20px}.customer-detail{display:flex;flex-direction:column;gap:20px}.customer-detail-contacts{display:flex;flex-wrap:wrap;gap:12px}.customer-detail-contact-card{width:240px;border:1px solid var(--gray-200);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:4px;background:#fff;position:relative}.customer-detail-contact-header{display:flex;align-items:center;gap:10px}.customer-detail-contact-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--paper-soft);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.02em}.customer-detail-contact-identity{display:flex;flex-direction:column;gap:1px;min-width:0}.customer-detail-contact-name{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--gray-900)}.customer-detail-contact-role{font-size:12px;color:var(--gray-400)}.customer-detail-contact-card.inactive{opacity:.55}.customer-detail-contact-card.inactive:hover{opacity:.9}.customer-detail-contact-star{font-size:14px;color:var(--ochre-mid);flex-shrink:0}.customer-detail-contact-field{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500)}.customer-detail-contact-field i{font-size:14px;color:var(--gray-400);width:14px;flex-shrink:0}.customer-detail-contact-field a{color:inherit;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.customer-detail-contact-field a:hover{text-decoration:underline}.customer-detail-section{display:flex;flex-direction:column;gap:10px}.customer-detail-section-title{font-size:12px;font-weight:500;color:var(--gray-400);text-transform:uppercase;letter-spacing:.04em;margin:0}.customer-detail-info-row{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-400)}.customer-detail-info-row i{font-size:14px;width:14px;flex-shrink:0}.customer-detail-locations{display:flex;flex-wrap:wrap;gap:12px}.customer-detail-location-card{width:240px;border:1px solid var(--gray-200);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:4px;background:#fff;position:relative}.customer-detail-location-card.inactive{opacity:.55}.customer-detail-location-card.inactive:hover{opacity:.9}.customer-detail-location-star{font-size:14px;color:var(--ochre-mid);flex-shrink:0}.customer-detail-location-name{font-size:14px;font-weight:600;color:var(--gray-900)}.customer-detail-location-address{font-size:13px;color:var(--gray-500)}.customer-form-contacts{margin-top:8px;border-top:1px solid var(--tbo-border-color);padding-top:12px}.customer-form-contacts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.customer-form-contacts-title{font-size:12px;font-weight:500;color:var(--tbo-text-secondary);text-transform:uppercase;letter-spacing:.03em}.customer-form-contact-list{display:flex;flex-direction:column;gap:8px}.customer-form-contact-edit{margin-top:8px;padding:12px;border:1px solid var(--tbo-border-color);border-radius:8px;background:var(--gray-50)}.customer-form-contact-edit .input-group{margin-bottom:8px}.customer-form-contact-edit-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.customer-detail-projects-header{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:20px;border-top:1px solid var(--gray-200)}.projects-toolbar-right{display:flex;align-items:center;gap:10px}.projects-toolbar-filters{display:flex;gap:6px}.projects-toolbar-sort{max-width:140px}.card-new-drawing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--gray-200);background:none;color:var(--gray-400);min-height:200px}.card-new-drawing i{font-size:28px}.card-new-drawing span{font-size:13px;font-weight:500}.card-new-drawing:hover{border-color:var(--action);color:var(--action)}.modal-form{display:flex;flex-direction:column;gap:4px;min-width:360px}.modal-form .input-group:last-child{margin-bottom:0}.customer-form-locations{margin-top:8px;border-top:1px solid var(--tbo-border-color);padding-top:12px}.customer-form-locations-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.customer-form-locations-title{font-size:12px;font-weight:500;color:var(--tbo-text-secondary);text-transform:uppercase;letter-spacing:.03em}.customer-form-location-list{display:flex;flex-direction:column;gap:8px}.customer-form-location-edit{margin-top:8px;padding:12px;border:1px solid var(--tbo-border-color);border-radius:8px;background:var(--gray-50)}.customer-form-location-edit .input-group{margin-bottom:8px}.customer-form-location-default-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tbo-text-secondary);cursor:pointer;margin-top:4px}.customer-form-location-edit-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
