@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1eee7;--surface:#fffdf9;--surface-2:#f8f4ec;--surface-3:#f3eee3;--border:#e7dece;--border-strong:#d7cbb5;--line:#ece3d4;--ink:#262219;--ink-2:#5f5749;--ink-3:#978c78;--accent:#b07514;--accent-strong:#935f0b;--accent-ink:#fffdf9;--accent-hover:#965f0d;--accent-soft:#f7ebd3;--accent-line:#e6c88a;--rail:#233240;--rail-2:#1c2a37;--rail-ink:#f4efe6;--rail-sub:#9fb0bf;--rail-line:#35485a;--ok:#3f6a2e;--ok-soft:#e9f1e0;--ok-line:#c9deb0;--warn:#8a5a00;--warn-soft:#f8edd7;--warn-line:#ebd19c;--crit:#a5392a;--crit-soft:#f7e7e2;--crit-line:#e8bfb2;--info:#2c4a63;--info-soft:#e7eff5;--info-line:#bdd2e2;--plum:#5f3a6b;--plum-soft:#f0e9f3;--plum-line:#d6c2dd;--radius-sm:6px;--control-h:30px;--radius-md:8px;--radius-lg:12px;--shadow-card:0 1px 2px #30220a0d, 0 2px 10px #30220a0d;--shadow-pop:0 8px 28px #1e180a24;--font-serif:"Source Serif 4 Variable", "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;--font-sans:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, "Liberation Mono", monospace;--fs-display:22px;--fs-lg:18px;--fs-title:16px;--fs-body:14px;--fs-ui:13px;--fs-sm:12px;--fs-xs:11px;--fs-2xs:10px;--fs-note:9px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--color-bg:var(--bg);--color-surface:var(--surface);--color-surface-muted:var(--surface-2);--color-border:var(--border);--color-border-strong:var(--border-strong);--color-text-secondary:var(--ink-2);--color-text-tertiary:var(--ink-3);--color-accent:var(--accent-strong);--color-warning-soft:var(--warn-soft);--color-success-soft:var(--ok-soft);--color-danger-soft:var(--crit-soft)}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-variant-numeric:tabular-nums;margin:0;line-height:1.55}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-soft)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-rail{justify-content:space-between;align-items:center;gap:var(--s4);background:linear-gradient(180deg, var(--rail) 0%, var(--rail-2) 100%);color:var(--rail-ink);border-bottom:1px solid var(--rail-2);padding:11px 24px;display:flex}.app-rail-brand{align-items:center;gap:12px;min-width:0;display:flex}.app-rail-logo{border-right:1px solid var(--rail-line);flex-shrink:0;width:auto;height:22px;padding-right:12px;display:block}.app-rail-title{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-title);letter-spacing:.005em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-rail-env{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--rail-sub);border:1px solid var(--rail-line);white-space:nowrap;border-radius:999px;padding:3px 10px;font-weight:600}.app-nav{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.app-nav-links{flex-wrap:wrap;gap:2px;display:flex}.app-nav-meta{font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap}.nav-link{color:var(--ink-2);font-size:var(--fs-ui);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:14px 7px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{color:var(--ink);text-decoration:none}.nav-link.active{color:var(--accent-strong);border-bottom-color:var(--accent);font-weight:600}.nav-link svg{flex-shrink:0;width:16px;height:16px}.app-topbar{justify-content:space-between;align-items:flex-end;gap:var(--s5);background:var(--surface);border-bottom:1px solid var(--border);padding:12px 28px;display:flex}.app-content{gap:var(--s6);flex-direction:column;width:100%;max-width:1460px;margin:0 auto;padding:24px 32px 56px;display:flex}.section-title{font-family:var(--font-serif);font-size:var(--fs-display);letter-spacing:.005em;color:var(--ink);text-wrap:balance;font-weight:600}.section-caption{font-size:var(--fs-ui);color:var(--ink-2);max-width:74ch;margin-top:4px}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--s4);flex-wrap:wrap;display:flex}.tenant-picker{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--ink);background:var(--surface);min-width:470px;max-width:100%;padding:9px 12px;font-weight:600}.tenant-picker:hover{border-color:var(--ink-3)}.tenant-picker:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.tenant-picker-combo{min-width:470px;max-width:100%;display:inline-block;position:relative}.tenant-picker-combo .tenant-picker{cursor:text;width:100%}.tenant-picker-popover{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);max-height:320px;box-shadow:var(--shadow-card);padding:6px;position:fixed;overflow-y:auto}.tenant-picker-option{text-align:left;cursor:pointer;border-radius:var(--radius-sm);width:100%;font-size:var(--fs-body);color:var(--ink);background:0 0;border:none;padding:8px 10px;display:block}.tenant-picker-option:hover,.tenant-picker-option.highlighted{background:var(--surface-2)}.tenant-picker-option.selected{color:var(--accent-strong);font-weight:600}.tenant-picker-short{font-weight:600}.tenant-picker-full{color:var(--ink-3);font-weight:400}.tenant-picker-empty{font-size:var(--fs-sm);color:var(--ink-3);padding:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px 22px}.card-title{font-family:var(--font-serif);font-size:var(--fs-title);color:var(--ink);font-weight:600}.card-subtitle{font-size:var(--fs-sm);color:var(--ink-2);margin-top:3px;line-height:1.5}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-size:var(--fs-ui);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn:not(.btn-link),.field input:not([type=checkbox]):not([type=radio]),.field select,.codet-cell input,.contacts-table input[type=text],.contacts-table.edit td input:not([type=checkbox]):not([type=radio]),.hours-table select,.hours-table input[type=text],.ow-row-editing select,.ow-row-editing input:not([type=checkbox]):not([type=radio]),.ow-add-row select,.ow-add-row input:not([type=checkbox]):not([type=radio]),.add-row input:not([type=checkbox]):not([type=radio]),.meridiem-toggle,.phone-country-btn,.phone-number,.phone-menu-search{height:var(--control-h);padding-top:0;padding-bottom:0;line-height:normal}.btn:hover{background:var(--surface-2);border-color:var(--ink-3)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--surface);border-color:var(--crit-line);color:var(--crit)}.btn-danger:hover{background:var(--crit-soft);border-color:var(--crit)}.btn-sm{font-size:var(--fs-sm);padding:6px 11px}.btn-link{cursor:pointer;font:inherit;color:var(--accent-strong);text-align:left;background:0 0;border:none;padding:0;font-weight:600}.btn-link:hover{text-decoration:underline}.btn-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge{font-size:var(--fs-xs);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-weight:700;line-height:1.4;display:inline-flex}.badge>span[aria-hidden]{opacity:.9;font-size:10px}.badge-success{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.badge-warning{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}.badge-danger{background:var(--crit-soft);color:var(--crit);border-color:var(--crit-line)}.badge-neutral{background:var(--surface-3);color:var(--ink-2);border-color:var(--border-strong)}.badge-accent{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-line)}.badge-info{background:var(--info-soft);color:var(--info);border-color:var(--info-line)}.badge-plum{background:var(--plum-soft);color:var(--plum);border-color:var(--plum-line)}.badge-icon-only{justify-content:center;gap:0;width:20px;height:20px;padding:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field{flex-direction:column;gap:5px;min-width:0;margin-bottom:14px;display:flex}.field label{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.field .hint{font-size:var(--fs-sm);color:var(--ink-3)}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-body);background:var(--surface);color:var(--ink);padding:8px 10px;transition:border-color .12s,box-shadow .12s}.field select{padding-top:0;padding-bottom:0}.field textarea{resize:vertical;line-height:1.4}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-3)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field input:disabled,.field select:disabled,.field textarea:disabled,.field input:read-only:not([type=checkbox]):not([type=radio]),.field textarea:read-only{background:var(--surface-3);color:var(--ink-2);cursor:not-allowed}select:not(:where(.field,.hours-table,.ow-row-editing,.ow-add-row) select),.tgantt-filter input{height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--ink);padding:0 4px 0 6px;transition:border-color .12s,box-shadow .12s}select:not(:where(.field,.hours-table,.ow-row-editing,.ow-add-row) select):hover,.tgantt-filter input:hover{border-color:var(--ink-3)}select:not(:where(.field,.hours-table,.ow-row-editing,.ow-add-row) select):focus,.tgantt-filter input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px;display:grid}.required-mark{color:var(--crit);margin-left:2px}table.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.data-table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:9px 12px;font-weight:600}.data-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 12px}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table tr.row-draft{opacity:.55}.data-table.tidy td{vertical-align:middle}.data-table.tidy thead th{background:var(--surface-2)}.data-table.tidy th,.data-table.tidy td{white-space:nowrap}.data-table th.amount,.data-table td.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table td.amount.neg{color:var(--crit)}.data-table th.amount.align-left,.data-table td.amount.align-left{text-align:left}.cell-sub{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px}.lov-section-head{align-items:center;margin-bottom:10px;display:flex}.lov-section-head-ow{flex:1 1 0;align-items:center;min-width:0;display:flex}.lov-section-head-asrs{flex:0 0 544px;align-items:center;display:flex}.lov-section-head-ow,.lov-section-head-asrs>span{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);font-weight:700}.lov-section-head-asrs{border-left:1px solid var(--border-strong);flex-wrap:wrap;gap:14px;padding-left:13px}.lov-table th.lov-divider,.lov-table td.lov-divider{border-left:1px solid var(--border-strong)}.lov-table{table-layout:fixed}.lov-table th,.lov-table td{padding-left:10px;padding-right:10px}.lov-table .lov-col-warehouse{width:125px}.lov-table .lov-col-area{width:107px}.lov-table .lov-col-date{width:88px}.lov-table .lov-col-dur{width:105px}.lov-table .lov-col-pallet{width:138px}.lov-table td.lov-unit,.lov-table th.lov-unit{white-space:normal;overflow-wrap:anywhere}.lov-upcoming-divider td{border-bottom:1px dashed var(--border-strong);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:5px 12px;font-weight:700}.lov-table tr.lov-upcoming td{color:var(--ink-3)}.stack-sm{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.check-list{flex-direction:column;gap:2px;margin:0 0 14px;padding:0;list-style:none;display:flex}.check-list li{border-bottom:1px solid var(--line);font-size:var(--fs-ui);align-items:center;gap:9px;padding:7px 0;display:flex}.check-list li:last-child{border-bottom:none}.check-mark{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.check-list li.pending .check-mark{background:var(--surface-3);color:var(--ink-3)}.check-label{flex:1}.tone-danger{color:var(--crit)}.tone-warning{color:var(--warn)}.tone-success{color:var(--ok)}.codet-grid{align-items:start;gap:14px 22px;display:grid}.codet-row1,.codet-row2{grid-template-columns:minmax(116px,2.5fr) minmax(0,8.5fr) minmax(0,5fr) minmax(0,4fr) minmax(0,4fr)}.codet-row2{margin-top:14px}.codet-row2>.codet-cell:first-child{grid-column:span 4}@media (width<=1000px){.codet-row1,.codet-row2{grid-template-columns:repeat(2,minmax(0,1fr))}.codet-row2>.codet-cell:first-child{grid-column:span 2}}@media (width<=700px){.codet-row1,.codet-row2{grid-template-columns:minmax(0,1fr)}.codet-row2>.codet-cell:first-child{grid-column:auto}}.codet-cell{min-width:0}.codet-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin-bottom:3px;font-weight:600}.codet-value{font-size:var(--fs-body);color:var(--ink);overflow-wrap:anywhere;line-height:1.45}.codet-value.muted{color:var(--ink-3)}.codet-hint{font-size:var(--fs-sm);color:var(--ink-3);margin-top:3px}.card-title-code{vertical-align:1px;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:4px;margin-left:10px;padding:1px 6px;font-weight:400}.codet-cell input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-body);background:var(--surface);color:var(--ink);padding:8px 10px}.codet-cell input:hover{border-color:var(--ink-3)}.codet-cell input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.codet-cell .phone-field input{width:auto}.codet-cell .phone-field,.codet-cell .phone-country-btn{font-size:var(--fs-body)}.codet-cell .phone-number{padding-left:10px;padding-right:10px}.wh-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px}.wh-block+.wh-block{margin-top:10px}.wh-block>.table-scroll{margin-bottom:10px}.wh-block-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.wh-block-name{font-size:var(--fs-body);color:var(--ink);font-weight:600}.wh-block-remove{font-size:var(--fs-sm);margin-left:auto}.wh-add{display:inline-block;position:relative}.wh-add-menu{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:240px;box-shadow:var(--shadow-md,0 8px 24px #0000001f);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0}.wh-add-option{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:baseline;gap:10px;width:100%;padding:7px 9px;display:flex}.wh-add-option:hover{background:var(--surface-2)}.wh-add-name{font-size:var(--fs-ui);color:var(--ink)}.wh-add-code{font-size:var(--fs-sm);color:var(--ink-3);font-family:var(--font-mono);margin-left:auto}.drag-handle{cursor:grab;color:var(--ink-3);-webkit-user-select:none;user-select:none;font-size:14px;line-height:1}.drag-handle:active{cursor:grabbing}tr.row-dragging{opacity:.45}.btn-x{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:1px solid #0000;padding:0;font-size:13px;line-height:1}.btn-x:hover{background:var(--crit-soft);border-color:var(--crit-line);color:var(--crit)}.contacts-table{table-layout:fixed;width:100%;min-width:720px}.contacts-table .col-drag{width:26px}.contacts-table .col-x{text-align:center;width:34px}.contacts-table.edit .col-phone{width:225px}.contacts-table.edit .col-name{width:209px}.contacts-table.edit .col-email{width:278px}.contacts-table.edit .col-remark{width:486px}.contacts-table:not(.edit) .col-roles{width:299px}.contacts-table:not(.edit) .col-phone{width:142px}.contacts-table:not(.edit) .col-name{width:176px}.contacts-table:not(.edit) .col-email{width:232px}.contacts-table:not(.edit) .col-remark{width:409px}.contacts-table th{font-size:var(--fs-xs);padding-left:8px;padding-right:8px}.contacts-table td{vertical-align:middle;padding:7px 8px}.contacts-table input[type=text],.contacts-table.edit td input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--surface);color:var(--ink);width:100%;padding:6px}.contacts-table td.cell-bad{color:var(--crit)}.role-pills{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.contacts-table.edit .contact-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.contacts-table.edit .contact-block+.contact-block{border-top-width:1px}.contacts-table.edit .contact-block.row-dragging{opacity:.45}.contacts-table.edit .contact-roles-row td{padding-top:6px;padding-bottom:8px}.contacts-table.edit .contact-roles-row .contact-roles{margin-top:0}.contact-roles{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.contact-roles-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:600}.contacts-table.edit .contact-roles-label-cell{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.role-toggle{cursor:pointer;font-size:var(--fs-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:2px 9px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.role-toggle:hover{border-color:var(--ink-3)}.role-toggle.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink);font-weight:600}.hours-table{table-layout:fixed;width:100%;min-width:1040px}.hours-table .col-drag{width:26px}.hours-table .col-x{text-align:center;width:34px}.hours-table .col-day{width:123px}.hours-table .col-24h{width:48px}.hours-table .col-hours{width:auto}.data-table th.col-divider,.data-table td.col-divider{border-left:1px solid var(--border-strong)}.hours-table.read .col-dayrange{width:170px}.hours-table.read .col-allhours{width:auto}.hours-table.read .hours-dayrange{font-weight:600}.hours-table.read .hours-slots{flex-wrap:wrap;gap:9px;display:flex}.hours-table.read .hours-slot{background:var(--surface-3);border-radius:var(--radius-sm);white-space:nowrap;padding:3px 9px}.hours-table th{font-size:var(--fs-xs);padding-left:8px;padding-right:8px}.hours-table td{vertical-align:middle;padding:7px 8px}.hours-table select,.hours-table input[type=text]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--surface);color:var(--ink);width:100%;padding:6px}.hours-table input:disabled,.hours-table select:disabled{background:var(--surface-3);color:var(--ink-3)}.time-field{grid-template-columns:minmax(50px,1fr) 30px;align-items:center;gap:4px;display:grid}.time-field input{text-align:center;font-variant-numeric:tabular-nums;padding-left:4px;padding-right:4px}.meridiem-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:100%;color:var(--ink-2);font-size:var(--fs-xs);cursor:pointer;padding:0;font-weight:600}.meridiem-toggle:hover{border-color:var(--ink-3);color:var(--ink)}.meridiem-toggle:disabled{background:var(--surface-3);color:var(--ink-3);cursor:not-allowed}.time-range{align-items:center;gap:4px;display:flex}.time-range .time-field{flex:1;min-width:0}.time-range-sep{color:var(--ink-3);font-size:var(--fs-sm);flex-shrink:0}input.bad,textarea.bad{border-color:var(--crit-line)!important;background:var(--crit-soft)!important}input.bad:focus,textarea.bad:focus{box-shadow:0 0 0 3px var(--crit-soft)!important}.cv.computed{padding-top:2px}.field-error{font-size:var(--fs-sm);color:var(--crit);margin-top:3px;line-height:1.35}.date-field{display:flex;position:relative}.date-field-cal{border:1px solid var(--border-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface-3);width:32px;color:var(--ink-2);cursor:pointer;border-left:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.date-field-cal:hover{background:var(--surface-2);color:var(--ink)}.date-field-cal svg{width:14px;height:14px}.date-popover{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:232px;box-shadow:var(--shadow-card);padding:10px;position:fixed}.date-popover-head{font-size:var(--fs-ui);color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600;display:flex}.date-popover-head button{cursor:pointer;color:var(--ink-2);border-radius:var(--radius-sm);background:0 0;border:none;width:22px;height:22px;font-size:15px;line-height:1}.date-popover-head button:hover{background:var(--surface-3);color:var(--ink)}.date-popover-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-popover-dow{font-size:var(--fs-2xs);text-transform:uppercase;color:var(--ink-3);text-align:center;padding:3px 0}.date-popover-day{cursor:pointer;font-size:var(--fs-ui);color:var(--ink);border-radius:var(--radius-sm);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:none;padding:6px 0}.date-popover-day:hover{background:var(--surface-3)}.date-popover-day.selected{background:var(--accent);color:var(--accent-ink);font-weight:600}.unit-master-add,.unit-master-edit{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:16px}.unit-master-block+.unit-master-block{margin-top:18px}.unit-master-block .wh-block-head{justify-content:space-between}.unit-master-invalid{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.unit-master-invalid .data-table td,.unit-master-invalid .data-table td .link-strong,.unit-master-invalid .data-table td .mono{color:var(--ink-3)}.master-table{table-layout:fixed}.data-table.master-table td{vertical-align:middle}.data-table.master-table .col-actions{text-align:right}.data-table.master-table .col-actions .flex-row{justify-content:flex-end}.master-table.wh-master{min-width:1189px}.master-table.unit-master-table{min-width:942px}.master-table.eq-master{min-width:288px}.master-table.wh-retired{min-width:620px}.master-table.unit-invalid{min-width:893px}.master-table.eq-retired{min-width:420px}.master-row-editing input[type=checkbox]{width:auto}.master-row-periods>td{padding:4px 12px 12px}.master-row-periods .unit-windows input,.master-row-periods .unit-windows select{width:auto}.master-row-periods .unit-windows{margin-top:0}.master-row-editing>td{border-bottom:0}.master-form{flex-wrap:wrap;align-items:flex-start;gap:0 18px;display:flex}.master-form .mf-15{flex:0 0 200px}.master-form .mf-num{flex:0 0 150px}.master-form .mf-pallet{flex:0 0 130px}.master-form .mf-country{flex:0 0 90px}.master-form .mf-building{flex:0 0 300px}.master-form .mf-date{flex:0 0 190px}.master-form .mf-grow{flex:220px;min-width:0}.unit-windows{margin-top:4px}.unit-windows-head{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.unit-windows-head .field-label{margin-bottom:0}.unit-add-heading{font-size:var(--fs-ui);margin-bottom:10px;font-weight:600}.unit-windows .field-label{font-size:var(--fs-sm);color:var(--ink);margin-bottom:2px;font-weight:600}.unit-window-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.unit-windows .unit-window-row .date-field input{width:112px;height:var(--control-h);line-height:normal;font-size:var(--fs-body);color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:none;flex:none;padding:0 10px;transition:border-color .12s,box-shadow .12s}.unit-windows .unit-window-row .date-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.unit-windows .unit-window-row .date-field-cal{width:32px}.unit-master-add .unit-windows{margin-bottom:16px}.data-table.bill-list{table-layout:fixed}.data-table.bill-list tr.selected{background:var(--accent-soft)}.data-table.bill-list tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.data-table.bill-list .col-ref{width:165px}.data-table.bill-list .col-wh{width:120px}.data-table.bill-list .col-period{width:179px}.data-table.bill-list .col-dur{width:105px}.data-table.bill-list .col-days{width:89px}.data-table.bill-list .col-status{width:40px}.data-table.bill-list .col-signed{width:99px}.data-table.bill-list .col-depform{width:158px}.data-table.bill-list th:last-child,.data-table.bill-list td:last-child{text-align:right}.data-table.bill-list td[colspan]{text-align:left}.data-table.bill-list .col-pallet{width:186px}.data-table.bill-list .col-unit,.data-table.bill-list .col-pallet{white-space:normal}@media (width<=900px){.data-table.bill-list{table-layout:auto}}.reminder-banner{border-radius:var(--radius-sm);font-size:var(--fs-ui);border:1px solid;align-items:flex-start;gap:10px;padding:11px 14px;line-height:1.5;display:flex}.reminder-banner>span[aria-hidden]{font-weight:700;line-height:1.3}.reminder-banner.warning{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.reminder-banner.danger{background:var(--crit-soft);border-color:var(--crit-line);color:var(--crit)}.reminder-banner.info{background:var(--info-soft);border-color:var(--info-line);color:var(--info)}.empty-state{text-align:center;color:var(--ink-3);font-size:var(--fs-ui);padding:38px 20px}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:18px;display:flex}.tab-btn{font-size:var(--fs-ui);color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 15px;font-weight:600;transition:color .12s,border-color .12s}.tab-btn:hover{color:var(--ink)}.tab-btn.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.steps{flex-wrap:wrap;gap:20px;display:flex}.step{font-size:var(--fs-sm);color:var(--ink-2);align-items:center;gap:8px;display:flex}.step .n{width:22px;height:22px;font-size:var(--fs-xs);background:var(--surface-3);color:var(--ink-3);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.step.active{color:var(--ink);font-weight:600}.step.active .n{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);gap:3px;padding:3px;display:inline-flex}.seg button{font-size:var(--fs-sm);cursor:pointer;color:var(--ink-2);border-radius:calc(var(--radius-sm) - 2px);background:0 0;border:none;padding:6px 13px;font-weight:600}.seg button.on{background:var(--surface);color:var(--accent-strong);box-shadow:0 1px 2px #30220a1a}.list{flex-direction:column;display:flex}.list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:11px 6px;display:flex}.list-row:last-child{border-bottom:none}a.list-row{color:inherit;border-radius:var(--radius-sm);text-decoration:none}a.list-row:hover{background:var(--surface-2);text-decoration:none}.list-row-main{min-width:0}.list-row-title{font-weight:600;font-size:var(--fs-body);color:var(--ink)}a.list-row-title,.list-row-title.link{color:var(--accent-strong);align-self:flex-start}a.list-row-title:hover{text-decoration:underline}.list-row-hint{font-size:var(--fs-sm);color:var(--ink-3);margin-top:2px;line-height:1.4}.chk-row{justify-content:flex-start;align-items:flex-start}.chk-row .list-row-main{flex:auto}.chk-tag{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);flex:0 0 98px;padding-top:2px;font-weight:700;line-height:1.25}.chk-more{font-size:var(--fs-sm);color:var(--accent-strong);cursor:pointer;background:0 0;border:none;margin-top:5px;padding:0;font-weight:600}.chk-more:hover{text-decoration:underline}.chk-items{font-size:var(--fs-sm);color:var(--ink-2);margin:5px 0 1px;padding-left:16px;line-height:1.5}.chk-yours{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:2px 8px;font-weight:700}.table-scroll{width:100%;min-width:0;overflow-x:auto}table.matrix{border-collapse:collapse;width:100%;font-size:var(--fs-xs);table-layout:fixed}.matrix col.col-tenant{min-width:189px}.matrix col.col-status{width:30px}.matrix col.col-month{width:83px}.matrix col.col-sum{width:90px}.matrix td.status,.matrix th.status{text-align:center}.matrix thead th{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.01em;color:var(--ink-3);text-align:center;white-space:nowrap;border-bottom:1px solid var(--border-strong);padding:7px 4px;font-weight:600}.bill-sched{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.bill-sched-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.bill-sched-head h3{font-size:var(--fs-title);font-weight:600;font-family:var(--font-serif);margin:0}.bill-sched-controls{align-items:center;gap:8px;display:flex}.bill-sched-controls label{font-size:var(--fs-sm)}.bill-sched-legend{font-size:var(--fs-sm);color:var(--ink-3);margin:4px 0 10px}.bill-sched-legend-row{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 10px;display:flex}.bill-sched-legend-row .bill-sched-legend{margin:0}.bill-sched .matrix thead th{vertical-align:top}.bill-sched .th-days{letter-spacing:0;font-weight:400;display:block}.table-scroll.sched-frame{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);clip-path:inset(0 round var(--radius-sm))}.sched-frame .matrix col.col-tenant{min-width:183px}.sched-frame .matrix tr>:first-child{text-indent:10px}.sched-frame .matrix tr>:first-child>*{text-indent:0}.sched-frame .matrix tr>:last-child{padding-right:12px}.table-scroll.sched-frame .matrix thead th,.table-scroll.sched-frame.matrix-pinned-head.is-pinned .matrix thead th{background:var(--surface-2)}.table-scroll.sched-frame.is-stuck.is-pinned .matrix thead th{box-shadow:inset 0 1px 0 var(--border), inset 0 -1px 0 var(--border-strong)}.pinned-head{flex-direction:column;gap:10px;padding-bottom:14px;display:flex}.pinned-head:empty{display:none}.pinned-head-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pinned-card.is-pinned .pinned-head{top:var(--app-nav-h,50px);z-index:3;background:var(--surface);position:sticky}.table-scroll.matrix-pinned-head.is-pinned{overflow:visible}.table-scroll.matrix-pinned-head.is-pinned .matrix thead th{top:calc(var(--app-nav-h,50px) + var(--pinned-head-h,0px));z-index:2;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border-strong);border-bottom:none;position:sticky}.matrix thead th:first-child{text-align:left}.matrix tbody td{border-bottom:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;padding:7px 4px}.matrix tbody tr:hover td{background:var(--surface-2)}.matrix td.tenant,.matrix th:first-child{text-align:left;white-space:normal;padding-left:2px;font-weight:600;line-height:1.3}.matrix td.tenant .cell-sub{font-size:var(--fs-2xs);color:var(--ink-3);font-weight:400}.matrix td.zero{color:var(--ink-3)}.matrix .col-total,.matrix th.col-total{border-left:1px solid var(--border);font-weight:700}.matrix tfoot td{border-top:1px solid var(--border-strong);background:var(--surface-2);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;padding:8px 4px;font-weight:700}.matrix tfoot td:first-child{text-align:left;padding-left:2px}.matrix tr.row-group td{background:var(--surface-3);border-top:1px solid var(--border)}.matrix tr.row-group:hover td{background:var(--surface-3)}.matrix tr.row-group td.tenant{text-transform:uppercase;letter-spacing:.02em;font-weight:700}.matrix tbody tr.row-side:not(:first-child) td{border-top:1px solid var(--border-strong);padding-top:12px}.matrix tr.row-band td{font-weight:700}.matrix tr.row-band td.tenant{padding-left:14px}.matrix tr.row-net td{border-top:1px solid var(--border-strong);font-weight:700}.matrix tr.row-net td.tenant{padding-left:14px}.matrix.matrix-banded tr.row-side td,.matrix.matrix-banded tr.row-tax td,.matrix.matrix-banded tr.row-side:hover td,.matrix.matrix-banded tr.row-tax:hover td{background:var(--border)}.matrix.matrix-banded tr.row-tax td{border-top:2px solid var(--border-strong);font-weight:700}.matrix.matrix-banded tr.row-band td,.matrix.matrix-banded tr.row-net td,.matrix.matrix-banded tr.row-band:hover td,.matrix.matrix-banded tr.row-net:hover td{background:var(--surface-3)}.matrix.matrix-banded tfoot td{background:var(--border);border-top:2px solid var(--border-strong)}.matrix tr.row-subtotal td,.matrix tr.row-subtotal:hover td{background:var(--border)}.matrix tr.row-subtotal td{border-top:2px solid var(--border-strong);font-weight:700}.matrix tr.row-item.row-subtotal td.tenant{padding-left:2px;font-weight:700}.matrix tr.row-group td.tenant .row-toggle{text-transform:inherit;letter-spacing:inherit}.matrix tr.row-deduction td:not(.tenant):not(.zero){color:var(--crit)}.matrix tr.row-item td.tenant{padding-left:16px;font-weight:600}.matrix tr.row-unit td.tenant{color:var(--ink-2);padding-left:30px;font-weight:400}.matrix tr.row-nested.row-group td.tenant{padding-left:16px}.matrix tr.row-nested.row-item td.tenant{padding-left:26px}.matrix tr.row-nested.row-unit td.tenant{padding-left:30px}.matrix tr.row-banded.row-item td.tenant{padding-left:26px}.matrix tr.row-banded.row-unit td.tenant{padding-left:38px}.matrix tr.row-nested.row-band td.tenant,.matrix tr.row-nested.row-net td.tenant{padding-left:24px}.matrix tr.row-nested.row-banded.row-item td.tenant{padding-left:34px}.matrix tr.row-nested.row-banded.row-unit td.tenant{padding-left:42px}.matrix tr.row-contract td{border-top:2px solid var(--border-strong)}.matrix tbody tr.row-contract:first-child td{border-top:none}.matrix .row-note{font-size:var(--fs-note);color:var(--ink-3);white-space:nowrap;font-weight:400}.matrix-legend{font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap}.card-actions{align-items:center;gap:12px;display:inline-flex}.pm-legend{white-space:normal;text-align:right}.pm-estimate-sample{font-style:italic}.pm-matrix td.pm-cell{padding:3px 2px}.pm-count{line-height:1.35;display:block}.pm-rate{min-height:12px;font-size:var(--fs-note);color:var(--ink-3);line-height:1.3;display:block}.pm-matrix tfoot .pm-rate,.pm-matrix td.col-total .pm-rate{display:none}.pm-amt{min-height:13px;font-size:var(--fs-note);color:var(--ink-3);line-height:1.35;display:block}.pm-cell-btn{border-radius:var(--radius-sm);width:100%;font:inherit;color:inherit;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;padding:1px 2px;display:block}.pm-cell-btn:disabled{cursor:default}.pm-cell-btn:not(:disabled):hover{border-color:var(--border-strong);background:var(--surface)}.pm-cell-btn:focus-visible{outline:2px solid var(--accent-strong);outline-offset:1px}.pm-input{width:100%;height:20px;font-size:var(--fs-xs);text-align:center;font-variant-numeric:tabular-nums;padding:0 4px}.pm-tenant-name{font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.pm-matrix td.tenant .pm-ref{font-weight:400;font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;line-height:1.3;display:block;overflow:hidden}.pm-matrix col.col-tenant{min-width:204px}.pm-matrix td .pm-inc{color:var(--info);font-weight:600}.pm-inc-tag{color:var(--info);font-size:8.5px;font-weight:600}.pm-matrix td.pm-estimate .pm-count{color:var(--ink-3);font-style:italic}.pm-matrix td.pm-estimate .pm-amt{font-style:italic}.pm-matrix td.pm-draft{background:var(--accent-soft)}.pm-matrix td.pm-pending{background:var(--info-soft)}.pm-matrix td.pm-confirmed{background:var(--ok-soft)}.pm-matrix td.pm-ambiguous .pm-count{color:var(--crit);font-weight:600}.matrix.pm-matrix tbody tr:hover td.pm-draft{background:var(--accent-soft)}.matrix.pm-matrix tbody tr:hover td.pm-pending{background:var(--info-soft)}.matrix.pm-matrix tbody tr:hover td.pm-confirmed{background:var(--ok-soft)}.matrix tfoot tr.pm-actions td{border-top:1px solid var(--border);padding:6px 3px;font-weight:400}.pm-action-stack{flex-direction:column;align-items:center;gap:4px;display:flex}.pm-action-stack .btn{width:100%;padding-inline:4px}.tenant-cell-row{align-items:baseline;gap:6px;display:inline-flex}.row-toggle{cursor:pointer;font:inherit;color:inherit;font-weight:inherit;text-align:left;background:0 0;border:none;align-items:baseline;gap:5px;margin:0;padding:0;display:inline-flex}.row-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row-toggle-arrow{color:var(--ink-3);font-size:9px}.row-toggle-static{cursor:default}.row-toggle-static .row-toggle-arrow{visibility:hidden}.matrix thead th.cs-tenant-col{text-overflow:ellipsis;overflow:hidden}:root{--gantt-empty:#e4dcc8;--gantt-normal:#547f42;--gantt-watch:#d9a92c;--gantt-alert:#cf7c33;--gantt-critical:#b3483c;--gantt-short:#3f72a6;--gantt-alt-1:#7a2a96;--gantt-alt-2:#e87ba4;--gantt-normal-soft:#e2ecdb;--gantt-empty-soft:#f2ede3;--gantt-normal-text:#59973f;--gantt-watch-text:#af8109;--gantt-alert-text:#d16e17;--gantt-critical-text:#db6457;--gantt-short-text:#4a8cd0}.lease-timeline-page .card-title{font-size:var(--fs-lg);font-weight:600}.tgantt-urgency-green,.tgantt-urgency-yellow,.tgantt-urgency-orange,.tgantt-urgency-red,.tgantt-urgency-blue{font-weight:600}.tgantt-urgency-green{color:var(--gantt-normal-text)}.tgantt-urgency-yellow{color:var(--gantt-watch-text)}.tgantt-urgency-orange{color:var(--gantt-alert-text)}.tgantt-urgency-red{color:var(--gantt-critical-text)}.tgantt-urgency-blue{color:var(--gantt-short-text)}.tgantt-filters{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.tgantt-filter{align-items:center;gap:6px;display:inline-flex}.tgantt-filter>label{font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}.tgantt-filter select,.tgantt-filter input{font-size:var(--fs-ui);padding:0 6px}.tgantt-filter input{width:78px}.tgantt-filter select.tgantt-filter-tenant{max-width:240px}.tgantt-filter input.tgantt-filter-units{width:168px}.tgantt-filter-suffix{font-size:var(--fs-sm);color:var(--ink-3)}.tgantt-filter-clear{font-size:var(--fs-sm)}.tgantt-filter-export{margin-left:auto}.tgantt-print-summary{display:none}.tgantt-legend{font-size:var(--fs-sm);color:var(--ink-2);flex-wrap:wrap;gap:14px;display:flex}.tgantt-legend-item{align-items:center;gap:6px;display:inline-flex}.tgantt-swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px;display:inline-block}.tgantt-swatch.tgantt-gray{background:var(--gantt-empty)}.tgantt-swatch.tgantt-green{background:var(--gantt-normal)}.tgantt-swatch.tgantt-yellow{background:var(--gantt-watch)}.tgantt-swatch.tgantt-orange{background:var(--gantt-alert)}.tgantt-swatch.tgantt-red{background:var(--gantt-critical)}.tgantt-swatch.tgantt-blue{background:var(--gantt-short)}.tgantt-table col.tgantt-col-unit-pallet{min-width:264px}.tgantt-table col.tgantt-col-area-basis{width:72px}.tgantt-table col.tgantt-col-pallet-wide{min-width:336px}.tgantt-table col.tgantt-col-date,.tgantt-table col.tgantt-col-followup{width:82px}.tgantt-table col.tgantt-col-duration{width:88px}.tgantt-table col.tgantt-col-days{width:66px}.tgantt-table col.tgantt-col-month{width:44px}.tgantt-table col.tgantt-col-fill{width:0}table.tgantt-table thead th:first-child{padding-left:38px}.tgantt-table td.tgantt-label{text-align:left;white-space:normal;padding-left:24px;font-weight:600;line-height:1.3}.tgantt-table td.tgantt-indent{color:var(--ink-2);padding-left:52px;font-weight:400}.tgantt-table td.zero{color:var(--ink-3)}table.tgantt-table .tgantt-row-tenant td{background:var(--ink);color:var(--surface);text-align:left;font-weight:700;font-size:var(--fs-ui);padding:7px 8px 7px 10px}table.tgantt-table tr.tgantt-row-tenant:hover td{background:var(--ink)}table.tgantt-table .tgantt-row-contract td{background:var(--surface-2);text-align:left;font-weight:600;font-size:var(--fs-sm);padding:6px 8px 6px 22px}.tgantt-row-contract-warehouse{color:var(--ink-3);margin-left:14px;font-weight:400}table.tgantt-table .tgantt-row-summary td{font-weight:600;font-size:var(--fs-sm)}table.tgantt-table tr.row-nested td{font-size:var(--fs-sm)}table.tgantt-table td.tgantt-cell{padding:0;position:relative}table.tgantt-table td.tgantt-cell:after{content:"";border-radius:3px;position:absolute;inset:3px 1px}table.tgantt-table td.tgantt-cell.tgantt-gray:after{background:var(--gantt-empty)}table.tgantt-table td.tgantt-cell.tgantt-green:after{background:var(--gantt-normal)}table.tgantt-table td.tgantt-cell.tgantt-yellow:after{background:var(--gantt-watch)}table.tgantt-table td.tgantt-cell.tgantt-orange:after{background:var(--gantt-alert)}table.tgantt-table td.tgantt-cell.tgantt-red:after{background:var(--gantt-critical)}table.tgantt-table td.tgantt-cell.tgantt-blue:after{background:var(--gantt-short)}table.tgantt-table tr.row-nested td.tgantt-cell:after{opacity:.35}.tgantt-no-contract-list{flex-direction:column;gap:8px;padding-left:0;list-style:none;display:flex}.tgantt-no-contract-list li .link-strong{font-size:var(--fs-ui)}.tgantt-no-contract-list li{border-bottom:1px solid var(--line);align-items:baseline;gap:8px;padding-bottom:8px;display:flex}.tgantt-no-contract-list li:last-child{border-bottom:none;padding-bottom:0}.wstatus-overall-table,.wstatus-ow-table,.wstatus-asrs-table{font-size:var(--fs-sm)}.wstatus-overall-table thead th,.wstatus-ow-table thead th,.wstatus-asrs-table thead th{white-space:normal}:root{--series-1:#309130;--series-2:#a51d1d;--series-3:#f33c20;--series-4:#f39120;--series-5:#4fc47e;--series-6:#0cb5df;--series-7:#0c7cdf;--series-8:#2339c7;--series-9:#713091;--series-10:#c44fad;--series-others:#978c78;--series-vacant:var(--gantt-empty);--series-forecast-tenant:#2f3540;--series-forecast-prospect:#5b6675;--fill-forecast-tenant:repeating-linear-gradient(135deg, #2f3540 0 4px, #3f4757 4px 8px);--fill-forecast-prospect:repeating-linear-gradient(135deg, #5b6675 0 4px, #6e798a 4px 8px)}.wstatus-share-grid{gap:var(--s6);grid-template-columns:1fr 1fr;display:grid}@media (width<=1040px){.wstatus-share-grid{grid-template-columns:1fr}}.wstatus-share-bar{border-radius:var(--radius-sm);background:var(--surface-2);gap:2px;height:34px;margin-bottom:16px;display:flex;overflow:hidden}.wstatus-share-seg{min-width:3px;transition:opacity .12s}.wstatus-share-seg:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.wstatus-share-seg:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.wstatus-share-bar:hover .wstatus-share-seg{opacity:.45}.wstatus-share-bar .wstatus-share-seg:hover{opacity:1}.wstatus-share-list{flex-direction:column;display:flex}.wstatus-share-row{border-bottom:1px solid var(--line);font-size:var(--fs-sm);grid-template-columns:12px 1fr auto auto;align-items:center;gap:10px;padding:7px 0;display:grid}.wstatus-share-row:last-child{border-bottom:none}.wstatus-share-swatch{border-radius:3px;width:12px;height:12px}.wstatus-share-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wstatus-share-row.is-neutral .wstatus-share-name{color:var(--ink-2)}.wstatus-share-row.is-forecast .wstatus-share-name{font-style:italic}.wstatus-share-pct{font-variant-numeric:tabular-nums;text-align:right;min-width:58px;font-weight:600}.wstatus-share-amt{font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;text-align:right;min-width:74px}.wstatus-share-empty{color:var(--ink-3);font-size:var(--fs-sm);padding:6px 0}table.wstatus-overall-table td.wstatus-label,table.wstatus-ow-table td.wstatus-label,table.wstatus-asrs-table td.wstatus-label{text-align:left;white-space:normal;font-weight:600;line-height:1.3}table.wstatus-overall-table thead th.wstatus-th-label,table.wstatus-ow-table thead th.wstatus-th-label,table.wstatus-asrs-table thead th.wstatus-th-label{text-align:left}.wstatus-label .cell-sub{font-weight:400}.wstatus-label .cell-sub.mono{font-size:var(--fs-2xs)}.wstatus-overall-table{min-width:880px}.wstatus-overall-table col.wstatus-ov-col-cat{width:150px}.wstatus-overall-table col.wstatus-ov-col-year{width:84px}.wstatus-overall-table td.wstatus-ov-month{text-align:center}.wstatus-overall-table th.wstatus-sec-end,.wstatus-overall-table td.wstatus-sec-end{border-right:1px solid var(--border-strong)}.wstatus-overall-table th.wstatus-sec-year,.wstatus-overall-table td.wstatus-sec-year{border-left:1px solid var(--border-strong);background:var(--surface-2)}.wstatus-pct{font-weight:600;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.wstatus-amt{font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:1px}.wstatus-ow-table{min-width:1120px}.wstatus-ow-table col.wstatus-ow-col-unit{width:88px}.wstatus-ow-table col.wstatus-ow-col-area{width:72px}.wstatus-ow-table col.wstatus-ow-col-date{width:82px}.wstatus-ow-table col.wstatus-ow-col-duration{width:78px}.wstatus-ow-table col.wstatus-ow-col-month{width:44px}table.wstatus-ow-table td.wstatus-ow-area{text-align:left}.wstatus-ow-table tbody td,.wstatus-asrs-table tbody td{height:48px}.wstatus-ow-table td.wstatus-label .wstatus-tenant-name,.wstatus-asrs-table td.wstatus-label .wstatus-tenant-name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}table.wstatus-ow-table tbody td{padding-top:2px;padding-bottom:2px}.wstatus-ow-table td.wstatus-cell{padding-left:1px;padding-right:1px}.wstatus-ow-table .wstatus-ow-stack{flex-direction:column;display:flex}.wstatus-ow-table .wstatus-ow-line{flex-direction:column;justify-content:center;height:42px;display:flex;overflow:hidden}.wstatus-ow-table tr.wstatus-ow-unit.multi .wstatus-ow-stack{gap:4px}.wstatus-ow-table tr.wstatus-ow-unit.multi .wstatus-ow-line{height:29px}.wstatus-ow-table tr.wstatus-ow-unit.multi .wstatus-tenant-name,.wstatus-ow-table tr.wstatus-ow-unit.multi .cell-sub{line-height:1.15}.wstatus-ow-table .wstatus-bar{border-radius:3px}.wstatus-ow-table .wstatus-bar.wstatus-vac{background:var(--gantt-empty)}.wstatus-ow-table .wstatus-bar.wstatus-occ{background:var(--gantt-normal)}.wstatus-ow-table .wstatus-bar.wstatus-occ.c1{background:var(--gantt-alt-1)}.wstatus-ow-table .wstatus-bar.wstatus-occ.c2{background:var(--gantt-alt-2)}.wstatus-footer-row td{text-align:center;background:var(--surface-2);border-top:1px solid var(--border-strong);font-weight:700}.wstatus-footer-row td.wstatus-footer-label{text-align:left}.wstatus-asrs-table{min-width:1170px}.wstatus-asrs-table col.wstatus-asrs-col-date{width:82px}.wstatus-asrs-table col.wstatus-asrs-col-duration{width:78px}.wstatus-asrs-table col.wstatus-asrs-col-month{width:56px}.wstatus-tenant-toggle{align-items:baseline;gap:5px;display:flex}.wstatus-tenant-toggle .row-toggle{min-width:0}.wstatus-tenant-toggle .row-toggle-arrow{flex-shrink:0}.wstatus-tenant-toggle .wstatus-tenant-name{min-width:0}.wstatus-tenant-toggle .row-toggle:hover .row-toggle-arrow{color:var(--ink-2)}table.wstatus-asrs-table td.wstatus-nested{padding-left:24px;font-weight:400}table.wstatus-asrs-table tr.wstatus-row-summary td.mono{font-weight:600}.wstatus-asrs-table td.wstatus-cell{padding:2px}.wstatus-asrs-fill{border-radius:3px;flex-direction:column;justify-content:center;align-items:center;height:42px;padding:3px 2px;display:flex}.wstatus-fill-occ{background:var(--gantt-normal-soft)}.wstatus-fill-vac{background:var(--gantt-empty-soft)}.wstatus-asrs-l1-occ{background:var(--gantt-normal)}.wstatus-asrs-l1-occ .wstatus-pct,.wstatus-asrs-l1-occ .wstatus-amt{color:#fff}.wstatus-asrs-l1-vac{background:var(--gantt-empty)}.bill-head{border-bottom:1px solid var(--line);top:var(--app-nav-h,50px);z-index:2;background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 -22px 12px;padding:0 22px 10px;display:flex;position:sticky}.bill-ref-line{font-size:var(--fs-sm);color:var(--ink-3);margin-top:2px}.bill-ref-note{margin-left:8px}.bill-banner-gap{margin-bottom:14px}.bill-days-pill{font-size:var(--fs-xs);background:color-mix(in srgb, currentColor 12%, transparent);border-radius:999px;align-items:center;margin-left:8px;padding:1px 8px;font-weight:700;display:inline-flex}.bill-ref{color:var(--accent-strong);font-weight:600;font-size:var(--fs-ui)}.card-head-sticky{top:var(--app-nav-h,50px);z-index:2;background:var(--surface);border-bottom:1px solid var(--line);margin-left:-22px;margin-right:-22px;padding:0 22px 10px;position:sticky}.link-strong{color:var(--accent-strong);font-weight:600}.sec-head{align-items:baseline;gap:12px;margin:20px 0 12px;display:flex}.sec-head .n{background:var(--accent);width:22px;height:22px;color:var(--accent-ink);font-weight:700;font-size:var(--fs-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sec-head h3{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-title);color:var(--ink)}.sec-head .cap{font-size:var(--fs-sm);color:var(--ink-3)}.sec-head.sub{margin:14px 0 8px 34px}.sec-head.sub .n{background:var(--surface-3);width:auto;min-width:20px;height:18px;color:var(--ink-2);border:1px solid var(--border-strong);font-size:var(--fs-2xs);border-radius:5px;padding:0 5px}.sec-head.sub h3{font-size:var(--fs-body)}.equip-counts{flex-wrap:wrap;align-items:center;gap:16px;margin-left:20px;display:flex}.equip-counts-ro{font-size:var(--fs-sm);color:var(--ink);gap:14px}.equip-count-ro b{color:var(--ink-3);margin-right:5px;font-weight:600}.cd-row1{grid-template-columns:minmax(200px,1.2fr) 220px 150px 220px;gap:0 18px;display:grid}.cd-grid3{grid-template-columns:repeat(3,1fr);gap:0 18px;display:grid}.cd-row2{grid-template-columns:minmax(200px,1fr) 240px 170px;gap:0 18px;display:grid}.cd-rowpt{grid-template-columns:2fr 200px 3fr;gap:0 18px;display:grid}.cd-row-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;display:grid}.cd-rowdep{grid-template-columns:190px repeat(4,minmax(0,1fr));gap:0 18px;display:grid}.deposit-form-checks{white-space:nowrap;min-height:var(--control-h,40px);align-items:center;gap:16px;display:flex}.deposit-form-checks label{color:var(--ink);cursor:pointer;align-items:center;gap:6px;font-weight:400;display:inline-flex}.deposit-form-checks input{cursor:pointer;margin:0}.bg-block{margin-top:4px;margin-bottom:18px}.bg-cats{white-space:nowrap;align-items:center;gap:14px;display:flex}.bg-cats label{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.bg-cats input{cursor:pointer;margin:0}.bg-cats label.disabled{color:var(--ink-3);cursor:not-allowed}.bg-cats label.disabled input{cursor:not-allowed}.bg-filepick{align-items:center;gap:8px;min-width:0;display:flex}.bg-filepick .btn{flex-shrink:0}.bg-file{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.bg-filepick .bg-file{flex:auto}.bg-table td>.bg-file{display:block}.bg-file-size{color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap;flex-shrink:0}.cd-rowdep .cd-fitout-period{grid-column:span 2}.cd-rowdep .date-field{min-width:0}.cd-rowdep .date-field input{flex:1;width:auto;min-width:0}.cd-rowtotals{grid-template-columns:repeat(3,minmax(200px,1fr));gap:0 18px;display:grid}@media (width<=820px){.cd-row1,.cd-grid3,.cd-row2,.cd-rowpt,.cd-row-links,.cd-rowdep,.cd-rowtotals{grid-template-columns:1fr 1fr}}.field-daterange{align-items:center;gap:6px;display:flex}.field-daterange .date-field{flex:1;min-width:0}.field-daterange .date-field input{flex:1;width:auto;min-width:0}.field-daterange .dr-sep{color:var(--ink-3);flex-shrink:0}.link-list-field{margin-bottom:14px}.link-list{flex-direction:column;gap:4px;margin:0 0 6px;padding:0;list-style:none;display:flex}.link-list li{align-items:center;gap:8px;min-width:0;display:flex}.link-list .link-date{font-size:var(--fs-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.link-list a,.link-list .doc-open{text-align:left;min-width:0;font-size:var(--fs-ui);text-overflow:ellipsis;white-space:nowrap;flex:1;display:block;overflow:hidden}.link-list .link-remove{font-size:var(--fs-sm);color:var(--crit);flex-shrink:0;font-weight:600}.link-list-readonly{margin-bottom:0}.link-add-row{gap:6px;display:flex}.link-add-row input{flex:1;min-width:0}.field .unitwrap{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);align-items:stretch;display:flex;overflow:hidden}.field .unitwrap input{border:none;border-radius:0;flex:1;min-width:0}.field .unitwrap input:focus{box-shadow:none;outline:none}.field .unit{background:var(--surface-3);color:var(--ink-2);font-weight:600;font-size:var(--fs-sm);border-left:1px solid var(--border-strong);align-items:center;padding:0 12px;display:flex}.field .unit.pre{border-left:none;border-right:1px solid var(--border-strong)}.rec-grid4{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:14px 22px;display:grid}.rec-grid-dep{grid-template-columns:190px repeat(4,minmax(0,1fr));align-items:start;gap:14px 22px;margin-top:14px;display:grid}@media (width<=820px){.rec-grid-dep{grid-template-columns:repeat(2,minmax(0,1fr))}}.rec-sp2{grid-column:span 2}.rec-sp3{grid-column:span 3}.rec-sp4{grid-column:span 4}.rec-totals{border-top:1px solid var(--line);margin-top:14px;margin-bottom:18px;padding-top:14px}@media (width<=820px){.rec-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.rec-sp3{grid-column:span 2}}.rec-field{flex-direction:column;gap:5px;min-width:0;display:flex}.rec-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:600}.rec-value{font-size:var(--fs-body);color:var(--ink);overflow-wrap:anywhere;line-height:1.45}.rec-value.amt{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--fs-body)}.rec-value.mono{font-family:var(--font-mono);font-size:var(--fs-ui)}.rec-value.muted{color:var(--ink-3)}.rec-value.pre{white-space:pre-wrap}.rec-grid4.fc-rec-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.35fr);margin-bottom:18px}@media (width<=820px){.rec-grid4.fc-rec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.charge-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden}.charge-block:last-child{margin-bottom:0}.charge-block h4{font-size:var(--fs-sm);letter-spacing:.02em;color:var(--ink);border-bottom:1px solid var(--line);background:var(--surface-3);padding:9px 12px;font-weight:600}.charge-block-head{background:var(--surface-3);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.charge-block-head h4{background:0 0;border:none;padding:0}.charge-block-head .btn{flex-shrink:0}.charge-empty{text-align:center;color:var(--ink-3);font-size:var(--fs-sm);padding:12px}.ow-table{table-layout:fixed;min-width:1050px}.ow-table th{font-size:var(--fs-xs);padding:8px 10px}.ow-table td{text-overflow:ellipsis;padding:8px 10px;overflow:hidden}.ow-table th.col-remove,.ow-table td.col-remove{text-align:center}.ow-row-warning td{border-bottom:1px solid var(--line);padding:0 10px 8px}.ow-row-warning .field-error{font-size:var(--fs-sm)}.ow-row-editable td[role=button]{cursor:pointer}.ow-row-editable:hover td{background:var(--surface-2)}.ow-row-editable td[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ow-row-editing{background:var(--accent-soft)}.ow-row-editing td{vertical-align:middle;padding:6px 10px}.ow-row-editing select,.ow-row-editing input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--surface);color:var(--ink);width:100%;padding:6px 8px}.ow-row-editing select:focus,.ow-row-editing input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.ow-row-editing .date-field-cal{width:18px}.ow-row-editing .date-field input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:1;width:auto;min-width:0;padding-left:4px;padding-right:4px}.ow-row-editing-controls{background:var(--accent-soft)}.ow-row-editing-controls td{padding:6px 10px}.ow-row-editing-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ow-row-editing-controls .field-error,.ow-row-editing-controls .add-hint{font-size:var(--fs-sm)}.ow-add{border-top:1px solid var(--line);background:var(--surface-2)}.ow-add td{border-bottom:none}.ow-add-label td{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:8px 10px 2px;font-weight:600}.ow-add-row td{vertical-align:middle;padding:2px 10px 8px}.ow-add-row select,.ow-add-row input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--surface);color:var(--ink);width:100%;padding:6px 8px}.ow-add-row select:focus,.ow-add-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.ow-add-row .date-field-cal{width:18px}.ow-add-row .date-field input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:1;width:auto;min-width:0;padding-left:4px;padding-right:4px}.ow-add-row td.cv.computed{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-sm);white-space:nowrap}.ow-add-row td.col-remove{padding-right:8px}.ow-add-note td{padding:0}.ow-add-note .add-hint,.ow-add-note .add-error{padding:0 10px 8px}.asrs-table{min-width:1151px}.summary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.summary-col{grid-template-rows:subgrid;min-width:0;display:grid}.summary-grid.rows-2 .summary-col{grid-row:span 2}.summary-grid.rows-3 .summary-col{grid-row:span 3}.summary-col+.summary-col{border-left:1px solid var(--line)}.summary-col-head{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line);padding:8px 12px;font-weight:600}@media (width<=1320px){.summary-grid{grid-template-columns:minmax(0,1fr)}.summary-col{display:block}.summary-grid.rows-2 .summary-col,.summary-grid.rows-3 .summary-col{grid-row:auto}.summary-col+.summary-col{border-left:none;border-top:1px solid var(--line)}}.summary-table{table-layout:fixed}.summary-table th,.summary-table td{font-size:var(--fs-xs);padding:6px 8px}.summary-table th{font-size:var(--fs-2xs)}.summary-table th:first-child,.summary-table td:first-child{padding-left:12px}.summary-empty{text-align:left;color:var(--ink-3);font-style:italic}.charge-rows td{padding:9px 12px}.charge-rows tbody tr:last-child td{border-bottom:none}.charge-cols{table-layout:fixed}.charge-cols .col-rate{width:21%}.charge-cols .col-from,.charge-cols .col-to{width:19%}.charge-cols .col-dur{width:17%}.charge-cols .col-total{width:24%}.charge-cols.has-pallet .col-pallet{width:10%}.charge-cols.has-pallet .col-unitprice{width:13%}.charge-cols.has-pallet .col-rate,.charge-cols.has-pallet .col-from,.charge-cols.has-pallet .col-to{width:15%}.charge-cols.has-pallet .col-dur{width:13%}.charge-cols.has-pallet .col-total{width:19%}.charge-cols.has-equipment .col-pallet{width:10%}.charge-cols.has-equipment .col-qty{width:8%}.charge-cols.has-equipment .col-unitprice{width:12%}.charge-cols.has-equipment .col-rate,.charge-cols.has-equipment .col-from,.charge-cols.has-equipment .col-to{width:14%}.charge-cols.has-equipment .col-dur{width:12%}.charge-cols.has-equipment .col-total{width:16%}.charge-cols.has-unitprice .col-unitprice{width:23%}.charge-cols.has-unitprice .col-rate,.charge-cols.has-unitprice .col-from,.charge-cols.has-unitprice .col-to{width:15%}.charge-cols.has-unitprice .col-dur{width:13%}.charge-cols.has-unitprice .col-total{width:19%}.items-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);padding:9px 12px 0;font-weight:600}.added-table th.col-remove,.added-table td.col-remove{text-align:center;width:40px}.item-remove{color:var(--ink-3);padding:0 4px;font-size:16px;font-weight:700;line-height:1}.item-remove:hover{color:var(--crit)}.data-table.tidy.added-table th{white-space:normal}.data-table.added-table th{font-size:var(--fs-xs)}.data-table.added-table{table-layout:fixed;width:calc(100% - 24px);margin:0 12px}.data-table.tidy.added-table thead th:first-child,.data-table.tidy.added-table thead th:last-child{position:relative}.data-table.tidy.added-table thead th:first-child:before,.data-table.tidy.added-table thead th:last-child:after{content:"";background:var(--surface-2);width:12px;box-shadow:0 1px 0 0 var(--border-strong);position:absolute;top:0;bottom:.5px}.data-table.tidy.added-table thead th:first-child:before{right:100%}.data-table.tidy.added-table thead th:last-child:after{left:100%}.added-table th,.added-table td{padding-left:8px;padding-right:8px}.added-table th:first-child,.added-table td:first-child{width:18%}.added-table th:nth-child(2),.added-table td:nth-child(2),.added-table th:nth-child(3),.added-table td:nth-child(3){width:21%}.added-table th:nth-child(4),.added-table td:nth-child(4){width:13%}.added-table th:nth-child(5),.added-table td:nth-child(5){width:19%}.added-table th:nth-child(6),.added-table td:nth-child(6){width:8%}.added-table.has-pallet th:first-child,.added-table.has-pallet td:first-child{width:10.1%}.added-table.has-pallet th:nth-child(2),.added-table.has-pallet td:nth-child(2){width:12.6%}.added-table.has-pallet th:nth-child(3),.added-table.has-pallet td:nth-child(3){width:16.8%}.added-table.has-pallet th:nth-child(4),.added-table.has-pallet td:nth-child(4),.added-table.has-pallet th:nth-child(5),.added-table.has-pallet td:nth-child(5){width:15%}.added-table.has-pallet th:nth-child(6),.added-table.has-pallet td:nth-child(6){width:8.8%}.added-table.has-pallet th:nth-child(7),.added-table.has-pallet td:nth-child(7){width:15.7%}.added-table.has-pallet th:nth-child(8),.added-table.has-pallet td:nth-child(8){width:6%}.added-table.has-unitprice th:first-child,.added-table.has-unitprice td:first-child{width:13%}.added-table.has-unitprice th:nth-child(2),.added-table.has-unitprice td:nth-child(2){width:20.5%}.added-table.has-unitprice th:nth-child(3),.added-table.has-unitprice td:nth-child(3),.added-table.has-unitprice th:nth-child(4),.added-table.has-unitprice td:nth-child(4){width:15.5%}.added-table.has-unitprice th:nth-child(5),.added-table.has-unitprice td:nth-child(5){width:11.5%}.added-table.has-unitprice th:nth-child(6),.added-table.has-unitprice td:nth-child(6){width:18%}.added-table.has-unitprice th:nth-child(7),.added-table.has-unitprice td:nth-child(7){width:6%}.added-table th.col-remove,.added-table td.col-remove{text-align:right}.item-remove{justify-content:center;align-items:center;width:26px;height:20px;padding:0;display:inline-flex}.add-item{border-top:1px solid var(--line);container:addrow/inline-size}.add-row{grid-template-columns:calc(18% - 12px) calc(21% - 12px) calc(21% - 12px) calc(13% - 12px) calc(19% - 12px) 8%;align-items:end;gap:0 12px;padding:4px 12px 12px;display:grid}.add-row-pallet{grid-template-columns:calc(10.1% - 12px) calc(12.6% - 12px) calc(16.8% - 12px) calc(15% - 12px) calc(15% - 12px) calc(8.8% - 12px) calc(15.7% - 12px) 6%}.add-row-unitprice{grid-template-columns:calc(13% - 12px) calc(20.5% - 12px) calc(15.5% - 12px) calc(15.5% - 12px) calc(11.5% - 12px) calc(18% - 12px) 6%}.add-row .date-field-cal{width:18px}.add-row .date-field input{padding-left:4px;padding-right:4px}.add-row .c{flex-direction:column;gap:4px;min-width:0;display:flex}.add-row .c:last-child{align-items:flex-end;padding-right:8px}.add-row input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--surface);color:var(--ink);width:100%;padding:7px 8px}.add-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.add-row .unitwrap input{border:none;border-radius:0;flex:1;width:auto;min-width:0}.add-row .unitwrap input:focus{box-shadow:none}.add-row .date-field input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:1;width:auto;min-width:0}.add-row .cv.computed{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-sm);white-space:nowrap;padding:7px 0 7px 8px}.add-row .btn{white-space:nowrap}.btn-icon{flex-shrink:0;width:26px;height:26px;padding:0}.btn-icon:disabled{opacity:.38}.add-error{padding:0 12px 10px}.add-hint{font-size:var(--fs-sm);color:var(--ink-3);font-variant-numeric:tabular-nums;padding:0 12px 10px}.add-warning{font-size:var(--fs-sm);background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--radius-sm);color:var(--warn);margin:0 12px 10px;padding:8px 10px;line-height:1.45}@container addrow (width<=660px){.add-row:not(.add-row-pallet):not(.add-row-unitprice){grid-template-columns:1fr 1fr}}@container addrow (width<=710px){.add-row-unitprice{grid-template-columns:1fr 1fr}}@container addrow (width<=730px){.add-row-pallet{grid-template-columns:1fr 1fr}}.divider{background:var(--line);height:1px;margin:16px 0}.text-secondary{color:var(--ink-2)}.text-tertiary{color:var(--ink-3)}.mono{font-variant-numeric:tabular-nums}.fs-sm{font-size:var(--fs-sm)}.fs-ui{font-size:var(--fs-ui)}.code-text{font-family:var(--font-mono);font-size:var(--fs-sm)}.flex-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-row select,.filter-row input:not([type=checkbox]):not([type=radio]){font-size:var(--fs-ui)}.filter-label{font-size:var(--fs-sm);color:var(--ink-2)}select[id$=-warehouse],select[aria-label=Warehouse]{min-width:150px}.flex-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.cols-2{gap:var(--s5);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=860px){.cols-2{grid-template-columns:1fr}}.profile-grid{gap:var(--s5);grid-template-columns:1.7fr 1fr;align-items:start;display:grid}.profile-top{gap:var(--s5);grid-template-columns:1.4fr 1fr;align-items:start;display:grid}.profile-bottom{gap:var(--s5);grid-template-columns:1.5fr 1fr;align-items:start;display:grid}@media (width<=1100px){.profile-top,.profile-bottom{grid-template-columns:1fr}}@media (width<=900px){.profile-grid{grid-template-columns:1fr}}.comment-compose textarea{resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;line-height:1.4;font-size:var(--fs-ui);background:var(--surface);color:var(--ink);padding:8px 10px}.comment-compose textarea:hover{border-color:var(--ink-3)}.comment-compose textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.comment-compose-row{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.comment-tag-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:600}.mention-anchor{display:block}.mention-menu{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);max-height:232px;box-shadow:var(--shadow-pop);margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.mention-option{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;border-radius:4px;align-items:baseline;gap:8px;padding:6px 8px;display:flex}.mention-option.active{background:var(--accent-soft)}.mention-name{font-size:var(--fs-ui);color:var(--ink);font-weight:600}.mention-code{font-size:var(--fs-sm);color:var(--accent-strong);font-weight:600}.mention-role{font-size:var(--fs-xs);color:var(--ink-3);margin-left:auto}.comment-list+.comment-compose{margin-top:12px}.comment{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.comment+.comment{margin-top:8px}.comment-head{font-size:var(--fs-sm);align-items:baseline;gap:8px;display:flex}.comment-role{color:var(--ink);font-weight:600}.comment-author-role{font-size:var(--fs-xs);color:var(--ink-3)}.comment-mention{color:var(--accent-strong);font-weight:600}.comment-delete{font-size:var(--fs-xs);color:var(--crit);margin-left:auto}.comment-body{font-size:var(--fs-ui);color:var(--ink-2);white-space:pre-wrap;margin-top:4px;line-height:1.5}.comment-time{font-size:var(--fs-xs);color:var(--ink-3)}.comment-preview{font-style:italic}.log-row{border-bottom:1px solid var(--line);gap:10px;padding:8px 0;display:flex}.log-row:last-child{border-bottom:none}.log-dot{background:var(--accent-line);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.log-content{min-width:0}.log-title{font-size:var(--fs-ui);font-weight:600}.log-time{font-size:var(--fs-xs);color:var(--ink-3);margin-top:1px}.log-changes{font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere;margin:3px 0 2px;padding-left:14px;line-height:1.45}.log-changes li+li{margin-top:1px}.log-changes-toggle{margin-left:-14px;list-style:none}.log-changes-toggle .btn-link,.log-more .btn-link{font-size:var(--fs-sm)}.log-more{padding-top:8px}.comment-edit textarea{resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;line-height:1.4;font-size:var(--fs-ui);background:var(--surface);color:var(--ink);margin-top:6px;padding:8px 10px}.comment-edit textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.comment-edit-row{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.comment-actions{gap:10px;margin-left:auto;display:flex}.comment-actions .comment-delete{margin-left:0}.comment-edit-link{font-size:var(--fs-xs)}.comment-edited{font-size:var(--fs-xs);color:var(--ink-3);font-style:italic}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=860px){.app-nav{flex-wrap:wrap;padding:0 16px}.app-nav-links{overflow-x:auto}.app-nav-meta{display:none}.app-content{padding:18px 16px 40px}.app-topbar{flex-direction:column;align-items:stretch}}.modal-backdrop{z-index:60;background:#30220a61;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;max-width:440px;box-shadow:var(--shadow-card);padding:20px}.modal h3{font-size:var(--fs-title);color:var(--ink);font-weight:600;font-family:var(--font-serif);margin-bottom:8px}.modal p{font-size:var(--fs-ui);color:var(--ink-2);line-height:1.5}.modal p+p{margin-top:8px}.modal .modal-note{color:var(--crit)}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.upload-warn-list{margin:6px 0 0;padding-left:18px}.upload-warn-list li+li{margin-top:3px}.phone-field{font-size:var(--fs-sm);align-items:stretch;gap:6px;display:flex}.phone-field.stretch{width:100%}.phone-field.stretch .phone-number{flex:auto}.phone-field .phone-number{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:inherit;background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums;flex:none;padding:6px 8px}.phone-field.bad .phone-number{border-color:var(--crit-line);background:var(--crit-soft)}.phone-country{flex:none;position:relative}.phone-country-btn{white-space:nowrap;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:100%;color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;padding:0 9px;font-weight:600}.phone-country-btn:hover{border-color:var(--ink-3);color:var(--ink)}.phone-country-btn:disabled{background:var(--surface-3);color:var(--ink-3);cursor:not-allowed}.phone-menu{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md,0 8px 24px #0000001f);padding:6px;position:fixed}.phone-menu-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-ui);background:var(--surface);color:var(--ink);margin-bottom:6px;padding:6px 8px}.phone-menu-list{max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.phone-menu-empty{font-size:var(--fs-sm);color:var(--ink-3);padding:8px 9px}.phone-menu-option{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:baseline;gap:8px;width:100%;padding:6px 9px;display:flex}.phone-menu-option.active{background:var(--surface-2)}.phone-menu-option.current{font-weight:600}.phone-menu-name{font-size:var(--fs-ui);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.phone-menu-iso{font-size:var(--fs-xs);color:var(--ink-3);margin-left:auto}.phone-menu-code{font-size:var(--fs-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right;min-width:42px}.blocker-list{margin:6px 0 0;padding-left:18px}.blocker-list li{font-size:var(--fs-ui);line-height:1.5}.phone-measure{visibility:hidden;pointer-events:none;white-space:pre;font-size:inherit;font-variant-numeric:tabular-nums;position:absolute}.fc-row1{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.fc-row2{grid-template-columns:220px 150px 220px minmax(200px,1fr);gap:0 18px;display:grid}.fc-rowremark{grid-template-columns:1fr;display:grid}.fc-rowremark textarea{resize:vertical;width:100%;min-height:66px;font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:6px 9px}@media (width<=1100px){.fc-row1{grid-template-columns:1fr}.fc-row2{grid-template-columns:repeat(2,minmax(0,1fr))}}.choice-field{align-items:center;gap:8px;display:flex}.choice-field>select,.choice-field>input,.choice-field>.picker-value{flex:1;min-width:0}.choice-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;display:inline-flex;overflow:hidden}.choice-btn{background:var(--surface);height:30px;font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;border:none;padding:0 10px;font-weight:600}.choice-btn+.choice-btn{border-left:1px solid var(--border)}.choice-btn:hover:not(:disabled){background:var(--surface-2)}.choice-btn.active{background:var(--accent-soft,var(--surface-3));color:var(--accent-strong)}.choice-btn:disabled{opacity:.45;cursor:not-allowed}.picker-value{text-align:left;font-family:var(--font-mono,inherit);justify-content:flex-start}.tag-prospect{background:var(--surface-3);border:1px solid var(--border);font-size:var(--fs-2xs);letter-spacing:.04em;color:var(--ink-3);vertical-align:middle;text-transform:uppercase;border-radius:9px;margin-left:8px;padding:1px 6px;font-weight:700;display:inline-block}.modal-wide{width:calc(100vw - 64px);max-width:1084px}.picker-search{margin-top:12px}.picker-search input{width:100%}.picker-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:46vh;margin-top:10px;overflow:auto}.picker-table{table-layout:fixed}.picker-table col.picker-col-ref{width:180px}.picker-table col.picker-col-pallet{width:190px}.picker-table col.picker-col-period{width:204px}.picker-table col.picker-col-dur{width:118px}.picker-table col.picker-col-days{width:103px}.data-table.picker-table td.picker-wrap{white-space:normal;overflow-wrap:anywhere}.data-table.forecast-list{table-layout:fixed;min-width:1126px}.data-table.forecast-list .col-ref{width:210px}.data-table.forecast-list .col-warehouse{width:120px}.data-table.forecast-list .col-unit{width:178px}.data-table.forecast-list .col-pallet{width:172px}.data-table.forecast-list .col-period{width:194px}.data-table.forecast-list th,.data-table.forecast-list td{white-space:nowrap}.data-table.forecast-list th.col-subject,.data-table.forecast-list td:nth-child(2),.data-table.forecast-list th.col-unit,.data-table.forecast-list td:nth-child(4),.data-table.forecast-list th.col-pallet,.data-table.forecast-list td:nth-child(5){white-space:normal}.data-table.forecast-list tr.selected{background:var(--accent-soft)}.data-table.forecast-list tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.data-table.forecast-list .cell-sub{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px;font-weight:400}.data-table tr.row-group-toggle td{background:var(--surface-3);border-top:1px solid var(--border);padding:6px 12px}.data-table tr.row-group-toggle .btn-link{font-size:var(--fs-sm);letter-spacing:.02em;color:var(--ink-2);font-weight:700}.data-table tr.row-group-toggle .disclosure{width:12px;color:var(--ink-3);display:inline-block}.data-table td.row-note{color:var(--ink-3);font-size:var(--fs-sm);font-style:italic}.matrix th.wstatus-boundary,.matrix td.wstatus-boundary{border-left:2px solid var(--border-strong)}.wstatus-overall-table tr.wstatus-band-row th{font-size:var(--fs-2xs);letter-spacing:.04em;border-bottom:none;padding:5px 4px 1px;font-weight:600}.wstatus-overall-table tr.wstatus-band-row th.wstatus-band{color:var(--ink-3)}.wstatus-overall-table tr.wstatus-band-row th.wstatus-band-forecast,.wstatus-forecast-ref a,a.wstatus-forecast-ref{font-style:italic}.wstatus-subject{align-items:center;gap:5px;min-width:0;display:flex}.wstatus-subject .wstatus-tenant-name{flex:0 auto;min-width:0}.tag-p{background:var(--surface-3);border:1px solid var(--border);font-size:var(--fs-2xs);color:var(--ink-3);border-radius:3px;flex:none;padding:0 4px;font-weight:700;line-height:14px}.matrix.fc-sched tr.fc-row-side td{background:var(--border);border-top:1px solid var(--border-strong);font-weight:700}.matrix.fc-sched tr.fc-row-side td.tenant{text-transform:uppercase;letter-spacing:.03em}.matrix.fc-sched tr.fc-row-side:hover td{background:var(--border)}.matrix.fc-sched tr.fc-row-item td,.matrix.fc-sched tr.fc-row-item:hover td{background:var(--surface-3)}.matrix.fc-sched tr.fc-row-item td.tenant{padding-left:14px;font-weight:600}.matrix.fc-sched tr.fc-row-record td.tenant{padding-left:26px;font-weight:700}.matrix.fc-sched tr.fc-row-leaf td.tenant{color:var(--ink-2);padding-left:40px;font-weight:400}.sched-frame .matrix.fc-sched tr.fc-row-record td.tenant{padding-left:36px}.matrix.fc-sched tr.fc-row-record td{border-top:2px solid var(--border-strong)}.matrix.fc-sched tr.fc-row-item+tr.fc-row-record td{border-top:none}.matrix.fc-sched tr.fc-row-record td.tenant .row-toggle{align-items:baseline;gap:3px;width:100%;min-width:0;display:flex}.matrix.fc-sched .fc-sched-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.matrix.fc-sched tr.fc-row-netTotal td{background:var(--border);border-top:2px solid var(--border-strong);font-weight:700}.matrix.fc-sched tr.fc-row-netTotal:hover td{background:var(--border)}.matrix td.neg{color:var(--crit)}.matrix.fc-sched col.col-month,.matrix.fc-sched col.col-sum{width:108px}.matrix.fc-sched col.col-tenant{min-width:200px}.matrix.fc-sched td.tenant{white-space:normal}.app-topbar-right{align-items:flex-end;gap:16px;display:flex}.country-control select{min-width:150px}.country-static{height:var(--control-h);border:1px solid var(--border-strong);background:var(--surface-3);color:var(--ink-1);font-weight:600;font-size:var(--fs-ui);letter-spacing:.02em;border-radius:6px;align-items:center;padding:0 10px;display:inline-flex}.notif{align-items:center;display:flex;position:relative}.notif-btn{width:var(--control-h);height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-2);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.notif-btn:hover{border-color:var(--ink-3);color:var(--ink)}.notif-btn.open{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-strong)}.notif-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notif-badge{background:var(--crit);color:#fff;min-width:16px;height:16px;font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;border:1.5px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.notif-scrim{z-index:50;position:fixed;inset:0}.notif-panel{z-index:51;background:var(--surface);border-left:1px solid var(--border);width:380px;max-width:100vw;height:100vh;box-shadow:var(--shadow-pop);flex-direction:column;animation:.16s ease-out notif-in;display:flex;position:fixed;top:0;right:0}@keyframes notif-in{0%{opacity:.4;transform:translate(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.notif-panel{animation:none}}.notif-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 14px;display:flex}.notif-title{font-size:var(--fs-title);color:var(--ink);font-weight:600;font-family:var(--font-serif)}.notif-sub{font-size:var(--fs-sm);color:var(--ink-3);margin-top:2px}.notif-close{cursor:pointer;color:var(--ink-3);background:0 0;border:0;margin-top:-2px;padding:0 2px;font-size:20px;line-height:1}.notif-close:hover{color:var(--ink)}.notif-empty{font-size:var(--fs-sm);color:var(--ink-3);text-align:center;padding:28px 18px}.notif-list{padding:6px 0;overflow-y:auto}.notif-row{color:inherit;border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:11px 18px;text-decoration:none;display:flex}.notif-row:last-child{border-bottom:none}.notif-row:hover{background:var(--surface-2);text-decoration:none}.notif-row.unread{background:var(--accent-soft)}.notif-row.unread:hover{background:var(--accent-soft);filter:brightness(.985)}.notif-row.unread .notif-row-title{font-weight:700}.notif-dot{background:var(--accent);opacity:.45;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.notif-row.unread .notif-dot{opacity:1}.notif-row-main{flex-direction:column;min-width:0;display:flex}.notif-row-title{font-size:var(--fs-ui);color:var(--ink);font-weight:600}.notif-row-detail{font-size:var(--fs-sm);color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;line-height:1.45;display:-webkit-box;overflow:hidden}.notif-row-when{font-size:var(--fs-xs);color:var(--ink-3);margin-top:4px}@media (width<=460px){.notif-panel{border-left:none;width:100vw}}@media print{body.tgantt-printing .app-rail,body.tgantt-printing .app-nav,body.tgantt-printing .app-topbar,body.tgantt-printing .lease-timeline-page>.page-header,body.tgantt-printing .lease-timeline-page>.card:not(.tgantt-print-target){display:none}body.tgantt-printing .app-shell{min-height:0;display:block}body.tgantt-printing .app-content{max-width:none;padding:0;display:block}body.tgantt-printing .lease-timeline-page{gap:0;display:block}body.tgantt-printing .tgantt-print-target{zoom:var(--tgantt-print-zoom,1);box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:none;border-radius:0;margin:0;padding:0}body.tgantt-printing .tgantt-print-target .pinned-head,body.tgantt-printing .tgantt-print-target .matrix thead th{position:static}body.tgantt-printing .tgantt-print-target .table-scroll{overflow:visible}body.tgantt-printing .tgantt-print-target .tgantt-filters{display:none}body.tgantt-printing .tgantt-print-target .tgantt-print-summary{font-size:var(--fs-sm);color:var(--ink-2);display:block}body.tgantt-printing .tgantt-print-target thead{display:table-header-group}body.tgantt-printing .tgantt-print-target tr{break-inside:avoid}body.tgantt-printing .tgantt-print-target tr.tgantt-row-tenant,body.tgantt-printing .tgantt-print-target tr.tgantt-row-contract{break-after:avoid}body.tgantt-printing .tgantt-print-target tr.tgantt-row-summary,body.tgantt-printing .tgantt-print-target tr.row-nested{break-before:avoid}}.users-table{table-layout:fixed;min-width:1108px}.users-table .field{margin-bottom:0}.users-table .field select{width:100%}.users-table .you{color:var(--ink-3);font-size:var(--fs-xs);margin-left:6px}.users-table td.mono{font-size:var(--fs-sm)}.users-deactivated{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.users-deactivated .data-table td,.users-deactivated .data-table td .link-strong{color:var(--ink-3)}.directory-search{max-width:420px}.access-notice{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:560px;margin:48px auto 0;padding:28px 32px}.access-notice-title{font-size:var(--fs-lg);font-weight:600;font-family:var(--font-serif);margin-bottom:10px}.access-notice p{color:var(--ink-2);margin:0;line-height:1.55}.login-screen{background:var(--ink);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:28px 28px 24px;display:flex}.login-logo{filter:invert();align-self:flex-start;width:auto;height:28px}.login-title{margin:0;font-size:20px}.login-caption{color:var(--ink-3);font-size:var(--fs-sm);margin:-6px 0 4px}.login-card .field{margin-bottom:0}.login-error{color:var(--crit);font-size:var(--fs-sm)}.login-submit{margin-top:4px}.login-note{color:var(--surface);font-size:var(--fs-sm)}.signed-in-row{align-items:center;gap:10px;min-height:34px;display:flex}.signed-in-name{white-space:nowrap;font-weight:600}.signed-in-role{color:var(--ink-3);font-weight:400}.app-rail-right{align-items:center;gap:16px;min-width:0;display:flex}.rail-user{white-space:nowrap;font-size:var(--fs-ui);align-items:center;gap:8px;display:flex}.rail-user-name{color:var(--rail-ink);font-weight:600}.rail-user-role{color:var(--rail-sub)}.rail-user-role:before{content:"·";margin-right:8px}.rail-signout{color:var(--rail-ink);border:1px solid var(--rail-line);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border-radius:6px;margin-left:6px;padding:4px 10px}.rail-signout:hover{border-color:var(--rail-sub)}.rail-signout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-topbar-shared{justify-content:flex-end;padding-top:8px;padding-bottom:8px}.clock-button{align-items:center;gap:6px;display:inline-flex}.clock-moved{border-color:var(--accent);background:var(--accent-soft)}.clock-moved-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong);font-weight:600}.bg-table .doc-open{text-overflow:ellipsis;white-space:nowrap;text-align:left;max-width:100%;display:block;overflow:hidden}.doc-open-error{white-space:normal;margin-left:8px}
