/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.table\!{display:table!important}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.justify-between{justify-content:space-between}.border{border-style:var(--tw-border-style);border-width:1px}.pt-6{padding-top:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#00254b;--muted:#627b96;--border:#dbe5f1;--surface:#fff;--background:#f2f5fa;--primary:#073c69;--green:#628f42;--orange:#cf7449;--sidebar:270px;color:var(--ink);font-family:Segoe UI,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--background);height:100vh;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{background:0 0;border:0}a{color:#0962bd;text-decoration:none}h1,h2,p{margin:0}h2{font-size:16px;font-weight:600}input,textarea,select{outline:none}input:focus,textarea:focus,select:focus,.ts-control.focus{border-color:#80b863;box-shadow:0 0 0 2px #80b86320}button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #80b863}[hidden]{display:none!important}.muted,.text-muted{color:var(--muted)}.text-success{color:#4c8c48}.required,.danger{color:#b62a24}.loading-label{color:var(--muted);padding:20px;display:block}.button,.icon-button{white-space:nowrap;border:1px solid var(--border);background:#fff;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:5px 10px;font-size:13px;display:inline-flex}.icon-button{width:34px;padding:6px}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.outline{color:var(--primary);background:#fff;border-color:#a6bdd7}.button.danger{color:#fff;background:#b9281d;border-color:#b9281d}.button.danger.outline{color:#b9281d;background:#fff;border-color:#e0aaa5}.button:hover,.icon-button:hover{filter:brightness(.97)}.control{background:#fff;border:1px solid #c9d8e9;border-radius:5px;width:100%;min-height:36px;padding:8px 10px;font-size:14px}.checkbox{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.work-card{border:1px solid var(--border);background:#fff;border-radius:14px;box-shadow:0 5px 16px #19395e04}.toolbar-actions{align-items:center;gap:8px;display:flex}.empty{text-align:center;color:var(--muted);padding:40px}.layout-sidebar{width:var(--sidebar);border-right:1px solid var(--border);z-index:30;background:linear-gradient(#fff,#f6f9fd);flex-direction:column;transition:width .18s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:8px;height:64px;min-height:64px;margin:0 9px;display:flex}.sidebar-logo img{object-fit:contain;width:102px;height:51px}.sidebar-logo span{letter-spacing:.6px;color:var(--green);border-left:1px solid var(--border);padding-left:9px;font-size:11px;font-weight:700}.sidebar-label{padding:20px 12px 12px;font-size:12px;font-weight:700}.layout-sidebar nav{min-height:0;padding:0 9px 20px;overflow:auto}.menu-link{text-align:left;color:var(--ink);border-radius:5px;align-items:center;gap:11px;width:100%;min-height:43px;margin:2px 0;padding:12px 15px;font-size:14px;display:flex}.menu-link:hover{background:#edf3f9}.menu-link.active{color:#326325;border-left:3px solid var(--orange);background:#e9f3e3;padding-left:12px;font-weight:600}.menu-link>.pi{font-size:15px}.menu-label{flex:1}.menu-chevron{font-size:11px!important}.submenu{padding-left:15px}.submenu .menu-link{padding-top:11px;padding-bottom:11px;font-size:13px}.sidebar-collapsed{--sidebar:68px}.sidebar-collapsed .sidebar-logo img{width:51px}.sidebar-collapsed .sidebar-logo span,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .menu-label,.sidebar-collapsed .menu-chevron{display:none}.sidebar-collapsed .submenu{padding-left:0}.sidebar-collapsed .layout-sidebar nav{padding:12px 5px}.sidebar-collapsed .menu-link{justify-content:center;padding:12px}.sidebar-collapsed .submenu[hidden]{display:block!important}.layout-main{height:100vh;margin-left:var(--sidebar);flex-direction:column;transition:margin-left .18s;display:flex}.layout-topbar{border-bottom:1px solid var(--border);z-index:20;background:#fff;align-items:center;gap:10px;height:64px;min-height:64px;padding:7px 18px 7px 22px;display:flex}.page-heading{text-transform:uppercase;white-space:nowrap;flex:1;align-items:center;gap:9px;min-width:130px;display:flex;overflow:hidden}.page-heading strong{letter-spacing:.2px;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.page-heading>.pi{color:#2c6aa1;font-size:15px}.company-context{border:1px solid var(--border);background:#f8fbff;border-radius:7px;align-items:center;gap:9px;min-width:170px;max-width:250px;padding:9px 10px;display:flex}.company-context>i{color:var(--primary);font-size:14px}.company-context select{width:100%;max-width:205px;box-shadow:none;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.function-search{background:#f8fafc;border:1px solid #c5d4e6;border-radius:5px;align-items:center;gap:7px;width:300px;padding:0 10px;display:flex;position:relative}.function-search>.pi{color:#829bb5;font-size:12px}.function-search input{width:100%;min-width:0;height:36px;box-shadow:none;background:0 0;border:0;font-size:12px}.function-search input::placeholder{color:#879bb2}.function-search #function-results:not(:empty){border:1px solid var(--border);background:#fff;border-radius:6px;max-height:350px;position:absolute;top:40px;left:0;right:0;overflow:auto;box-shadow:0 5px 20px #14355d1a}.function-result{color:var(--ink);padding:11px;font-size:13px;display:block}.function-result:hover{background:#edf4fa}.user-wrapper{max-width:225px;position:relative}.user-button{border:1px solid var(--border);text-align:left;background:#fff;border-radius:5px;align-items:center;gap:9px;height:43px;padding:4px 9px;display:flex}.user-button>span:nth-child(2){max-width:150px;overflow:hidden}.user-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;display:block;overflow:hidden}.user-button small{white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.avatar{color:#fff;background:#285e90;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:11px;display:grid}.user-dropdown{border:1px solid var(--border);background:#fff;border-radius:5px;width:195px;padding:5px;position:absolute;top:48px;right:0;box-shadow:0 5px 25px #14355d20}.user-dropdown button{text-align:left;border-radius:4px;align-items:center;gap:9px;width:100%;padding:11px;font-size:13px;display:flex}.user-dropdown button:hover{background:#edf4fa}.layout-content{flex:1;min-height:0;padding:14px 15px 12px;overflow:hidden}.page-content{flex-direction:column;gap:13px;height:100%;min-height:0;display:flex;overflow:auto}.list-workspace{border-radius:13px;flex-direction:column;height:100%;min-height:0;padding:12px 13px;display:flex}.list-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px;display:flex}.table-summary{color:var(--muted);font-size:12px}.table-body{border:1px solid var(--border);border-radius:6px;flex:1;min-height:0;overflow:hidden}.dynamic-grid{height:100%}.filter-panel{border:1px solid var(--border);background:#f7faff;border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px;padding:12px;display:flex}.filter-field{flex-direction:column;gap:6px;width:180px;font-size:12px;display:flex}.filter-field input,.filter-field select{min-height:32px;padding:6px 8px;font-size:12px}.tabulator{color:var(--ink);background:#fff;border:0;font-family:inherit;font-size:13px}.tabulator .tabulator-header{border-bottom:1px solid var(--border);color:#52667e;background:#f4f7fb;font-weight:600}.tabulator .tabulator-header .tabulator-col{border-right:1px solid var(--border);background:#f4f7fb;min-height:40px;padding:7px 6px}.tabulator-row{border-bottom:1px solid var(--border);min-height:43px;background:#fff!important}.tabulator-row.tabulator-selected{background:#edf5e9!important}.tabulator-row .tabulator-cell{border-right:1px solid #e8eef5;padding:12px 9px}.tabulator-row:hover{background:#f7fbff!important}.tabulator .tabulator-footer{border-top:1px solid var(--border);color:var(--muted);background:#fff;padding:11px 12px;font-size:12px}.tabulator .tabulator-footer .tabulator-page{color:var(--primary);background:#fff;border:1px solid #c3d3e5;border-radius:4px;padding:5px 9px}.tabulator .tabulator-footer .tabulator-page.active{background:var(--primary);color:#fff}.tabulator-frozen{background:inherit!important}.row-action{color:#2563a0;border-radius:4px;justify-content:center;align-items:center;width:31px;height:28px;display:inline-flex}.row-action:hover{background:#e8f0fa}.row-action.danger{color:#c52b25}.cell-content{text-overflow:ellipsis;display:block;overflow:hidden}.compact-files{max-width:200px;overflow:hidden}.compact-files .file-link{white-space:nowrap;max-width:180px;padding:0;font-size:12px}.compact-files .file-link span{text-overflow:ellipsis;overflow:hidden}.drawer-overlay{z-index:70;position:fixed;inset:0}.drawer-backdrop{background:#0a234a50;position:absolute;inset:0}.record-panel{background:#fff;flex-direction:column;width:min(1020px,92vw);display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-7px 0 30px #14355d25}.record-panel>header,.file-panel>header{border-bottom:1px solid var(--border);background:#f8fbff;justify-content:space-between;align-items:center;gap:12px;min-height:59px;padding:15px 19px;display:flex}.record-body{flex:1;padding:22px;overflow:auto}.record-panel>footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.form-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:19px 17px;display:grid}.form-field{grid-column:span var(--field-span,6);flex-direction:column;gap:8px;min-width:0;display:flex}.form-field textarea{resize:vertical;min-height:105px}.form-field input[type=color]{height:36px;padding:4px}.field-html{grid-column:span 12}.view-value{border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;background:#f8faff;border-radius:5px;min-height:40px;padding:11px}.ts-control{min-height:36px;border:1px solid #c9d8e9!important;border-radius:5px!important;padding:7px 9px!important;font-size:13px!important}.ts-dropdown{font-size:13px!important}.ts-wrapper.multi .ts-control>div{border-radius:3px;color:#3a6930!important;background:#eaf3e5!important;border:0!important}.upload-control{background:#fbfcfe;border:1px dashed #bbcee1;border-radius:6px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;display:flex}.upload-control small{font-size:11px}.upload-control>div{width:100%}.upload-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.file-list{flex-direction:column;gap:7px;display:flex}.file-link{color:#1265af;text-align:left;align-items:center;gap:7px;max-width:100%;font-size:13px;display:inline-flex}.file-link span{overflow-wrap:anywhere;word-break:break-word}.ql-toolbar.ql-snow{border-color:#c9d8e9;border-radius:5px 5px 0 0}.ql-container.ql-snow{border-color:#c9d8e9;border-radius:0 0 5px 5px;min-height:140px}.html-editor{min-height:140px}.password-form{flex-direction:column;gap:19px;max-width:500px;display:flex}.password-form .control{margin-top:7px}.dialog-overlay{z-index:100;background:#0a234a60;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.confirm-panel{background:#fff;border-radius:10px;width:440px;padding:24px;box-shadow:0 15px 50px #0002}.confirm-panel h2{align-items:center;gap:10px;display:flex}.confirm-panel h2 i{color:#cf7449}.confirm-panel p{padding:22px 0;line-height:1.7}.confirm-panel footer{justify-content:flex-end;gap:8px;display:flex}.file-panel{background:#fff;border-radius:9px;flex-direction:column;width:min(1250px,96vw);height:90vh;display:flex;overflow:hidden}.file-panel h2{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.file-panel header>div{gap:10px;display:flex}.file-body{background:#edf1f7;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:15px;display:flex;overflow:auto}.preview-frame{border:0;width:100%;height:100%}.preview-image{object-fit:contain;max-width:100%;max-height:100%;margin:auto}.preview-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;width:100%;padding:20px;font-size:13px}.preview-media{max-width:100%;max-height:100%;margin:auto}#toast{color:#fff;z-index:140;background:#234c32;border-radius:6px;max-width:470px;padding:13px 20px;font-size:13px;position:fixed;bottom:23px;right:22px;box-shadow:0 5px 25px #0002}#toast.error{background:#a6332e}.role-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.role-toolbar>.muted{font-size:12px}.role-search{width:220px;min-height:32px;padding:6px 9px;font-size:13px}.role-card{border-radius:9px;flex:1;min-height:0;overflow:hidden}.role-scroll{height:100%;overflow:auto}.role-matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.role-matrix th,.role-matrix td{text-align:center;border-bottom:1px solid var(--border);background:#fff;border-right:1px solid #e6edf5;min-width:170px;padding:11px 12px}.role-matrix thead th{z-index:3;background:#f2f5f9;height:40px;font-weight:600;position:sticky;top:0}.role-matrix thead tr:nth-child(2) th{height:42px;top:40px}.role-matrix .role-name{z-index:2;text-align:left;min-width:390px;max-width:600px;position:sticky;left:0}.role-matrix thead .role-name{z-index:5}.role-select-all th:first-child{z-index:5;text-align:left;padding-left:44px;position:sticky;left:0}.role-action-row td{background:#fbfcfe;border-bottom-style:dashed}.role-node{white-space:nowrap;align-items:center;gap:8px;min-height:22px;display:flex}.tree-toggle{flex-shrink:0;width:20px;height:20px;padding:0;font-size:10px}.role-node>.pi{color:#6382a3;font-size:14px}.role-node>.action-icon{color:#c88a4f}.action-tag{color:#b0793d;background:#fbefdf;border-radius:4px;margin-left:4px;padding:2px 5px;font-size:9px}.overview-grid{grid-template-columns:2fr 1fr;gap:14px;display:grid}.overview-card{align-items:center;gap:20px;padding:22px;display:flex}.overview-card p{color:var(--muted);margin:5px 0 11px;font-size:13px}.overview-mark{color:#66964b;background:#edf5e7;border-radius:10px;place-items:center;width:60px;height:65px;font-size:31px;display:grid}.overview-small-icon{color:#83a76c;font-size:31px}.overview-number{margin-top:4px;font-size:27px;display:block}.status-pill{color:#56803b;background:#edf6e8;border-radius:4px;padding:3px 8px;font-size:11px;display:inline-block}.section-bar{border-bottom:1px solid var(--border);padding:17px 20px;font-weight:600}.shortcut-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:15px;display:grid}.shortcut{border:1px solid var(--border);color:var(--ink);border-radius:7px;align-items:center;gap:12px;padding:17px;font-size:13px;display:flex}.shortcut:hover{background:#f5f9fd}.shortcut>.pi:first-child{color:#597e9d;font-size:18px}.shortcut>.pi:last-child{color:#94a9bc;margin-left:auto;font-size:12px}.stage-note{color:#6c8198;align-items:center;gap:12px;padding:18px;font-size:13px;line-height:1.7;display:flex}.page-error{color:#ac3b35;padding:25px}body[data-page=login]{background:#fff;overflow:auto}.login-shell{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-art{background:#eef4e7;flex-direction:column;justify-content:space-between;padding:44px 55px;display:flex;position:relative;overflow:hidden}.gsot-brand{color:var(--ink);z-index:1;align-items:center;gap:20px;display:flex;position:relative}.gsot-brand img{object-fit:contain;width:130px;height:65px}.gsot-brand>span{border-left:1px solid #d6e2ca;padding-left:20px;font-size:21px;font-weight:700}.gsot-brand small{letter-spacing:.7px;margin-top:5px;font-size:9px;font-weight:400;display:block}.login-art h1{letter-spacing:-1px;z-index:1;font-size:40px;line-height:1.3;position:relative}.login-art p{color:#7b8c70;z-index:1;max-width:430px;font-size:14px;line-height:1.8;position:relative}.eyebrow{letter-spacing:1.3px;color:#628348;margin-bottom:15px;font-size:10px;font-weight:700}.document-card{z-index:1;background:#fff;border-radius:11px;max-width:350px;margin:38px 0;padding:24px;position:relative;transform:rotate(-3deg);box-shadow:0 10px 50px #4c6b3110}.skeleton-line{background:#edf2e5;border-radius:4px;height:7px;margin-top:12px}.badge{color:#538c5a;background:#ecf7ed;border-radius:4px;padding:4px 7px;font-size:10px;display:inline-block}.subtle{color:var(--muted);font-size:12px}.login-art:after{content:"";border:1px solid #dee7d4;border-radius:50%;width:650px;height:650px;position:absolute;bottom:-250px;right:-350px;box-shadow:0 0 0 65px #e6eedd,0 0 0 66px #dee7d4,0 0 0 130px #eaf0e2}.login-form{width:100%;max-width:390px;margin:auto;padding:35px 25px}.login-form h1{margin:0;font-size:27px;font-weight:650}.login-form .field{margin-bottom:18px;font-size:13px;display:block}.login-form .field>span{margin-bottom:8px;display:block}.login-form .input{border:1px solid #dce5d4;border-radius:6px;width:100%;padding:12px}.login-form .btn{color:#fff;background:#597f3b;border:0;border-radius:5px;align-items:center;width:100%;padding:12px;font-size:13px;font-weight:600;display:flex}.login-form .alert{color:#ab3a32;background:#fff0ed;border-radius:5px;margin:12px 0;padding:10px;font-size:12px}.login-logo{display:none}@media (max-width:1250px){.function-search{width:220px}.company-context{min-width:150px;max-width:200px}.user-button>span:nth-child(2){max-width:110px}.layout-topbar{gap:8px;padding-left:12px}}@media (max-width:1000px){.function-search{display:none}.role-toolbar{flex-wrap:wrap}.overview-grid{grid-template-columns:1fr}.shortcut-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:850px){:root{--sidebar:0px}.layout-sidebar{width:270px;transition:transform .18s;transform:translate(-100%);box-shadow:8px 0 30px #17355820}.sidebar-open .layout-sidebar{transform:translate(0)}.layout-topbar{height:59px;min-height:59px;padding:7px 10px}.page-heading{min-width:60px}.page-heading strong{font-size:12px}.company-context{min-width:100px;max-width:170px;padding:8px}.company-context select{font-size:12px}.user-button>span:nth-child(2),.user-button>.pi{display:none}.user-button{border:0;padding:3px 5px}.user-button .avatar{width:29px;height:29px}.layout-content{padding:10px}.toolbar-actions{flex-wrap:wrap;gap:5px}.button{padding:5px 8px;font-size:12px}.form-field{grid-column:span 12}.record-panel{width:100vw}.record-body{padding:18px}.role-toolbar .toolbar-actions{width:100%}.role-search{flex:1;min-width:120px}.role-matrix .role-name{min-width:270px}.role-matrix th,.role-matrix td{min-width:130px}.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-logo{width:130px;height:auto;margin-bottom:30px;display:block}.shortcut-grid{grid-template-columns:1fr}}.contract-toolbar{flex-shrink:0;align-items:center;gap:10px;padding:12px;display:flex}.contract-search{border:1px solid var(--border);background:#f8fbff;border-radius:6px;flex:1;align-items:center;gap:9px;min-width:140px;padding:0 12px;display:flex}.contract-search input{width:100%;height:35px;box-shadow:none;background:0 0;border:0;font-size:13px}.contract-search>i{color:#6f90b0;font-size:14px}.contract-status-filter{width:170px;min-height:35px;font-size:13px}.contract-toolbar>[data-total]{white-space:nowrap;font-size:12px}.contract-workspace{flex:1;grid-template-columns:310px minmax(0,1fr);gap:12px;min-height:0;display:grid}.contract-list-panel{flex-direction:column;min-height:0;padding:11px;display:flex;overflow:hidden}.contract-list{flex-direction:column;flex:1;gap:9px;min-height:0;display:flex;overflow:auto}.contract-card{text-align:left;width:100%;color:var(--ink);background:#fbfcff;border:1px solid #d6e1ef;border-radius:10px;flex-shrink:0;padding:12px;display:block}.contract-card:hover{background:#f3f7fc}.contract-card.selected{background:#f2f7ff;border-color:#315d8a;box-shadow:inset 3px 0 #5c8c43}.contract-card-heading{align-items:center;gap:7px;margin-bottom:8px;display:flex}.contract-card-heading>strong{overflow-wrap:anywhere;font-size:12px}.contract-card-heading>.pi{color:#78965d;font-size:18px}.document-direction{color:#4a7c3c;white-space:nowrap;background:#e7f2e5;border-radius:4px;margin-left:auto;padding:3px 5px;font-size:9px}.document-direction.buy{color:#a27642;background:#fbefdf}.contract-card-title{overflow-wrap:anywhere;margin-bottom:6px;font-size:13px;font-weight:600;line-height:1.6}.contract-card-partner{color:#6f839a;margin-bottom:11px;font-size:11px}.contract-card-footer{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;font-size:11px;font-weight:600;display:flex}.contract-card .status-pill{font-size:10px;font-weight:400}.contract-card>small{font-size:10px}.contract-pagination{border-top:1px solid var(--border);color:var(--muted);justify-content:center;align-items:center;gap:16px;margin-top:10px;padding:10px 0 0;font-size:12px;display:flex}.contract-detail{flex-direction:column;min-height:0;display:flex;overflow:hidden}.contract-detail-heading{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:15px;padding:17px;display:flex}.contract-heading-number{color:#54789c;margin-bottom:5px;font-size:12px}.contract-title-block{min-width:0}.contract-title-block h2{overflow-wrap:anywhere;font-size:17px;line-height:1.5}.contract-title-tags{align-items:center;gap:10px;margin-top:9px;font-size:11px;display:flex}.contract-detail-body{min-height:0;padding:13px;overflow:auto}.contract-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.contract-fact{border:1px solid var(--border);overflow-wrap:anywhere;background:#f8fbff;border-radius:7px;flex-direction:column;gap:8px;min-height:65px;padding:12px;display:flex}.contract-fact small{font-size:10px}.contract-fact span{font-size:13px;font-weight:500}.contract-totals{background:#f7fbf3;border:1px solid #dce9d3;border-radius:7px;margin:14px 0;padding:14px}.contract-totals>strong{margin-bottom:10px;font-size:12px;display:block}.contract-totals>small{margin-top:10px;font-size:10px;display:block}.currency-total{justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;display:flex}.currency-total strong{color:#497535;font-size:16px}.contract-description p{white-space:pre-wrap;color:#607a94;margin-top:7px;line-height:1.7}.appendix-heading{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.count-pill{color:#587494;background:#edf3fa;border-radius:9px;margin-left:5px;padding:2px 7px;font-size:10px;display:inline-block}.appendix-table-wrapper{overflow:auto}.appendix-table{border-collapse:collapse;width:100%;font-size:11px}.appendix-table th{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:#f8faff;padding:11px 8px;font-weight:600}.appendix-table td{vertical-align:top;border-bottom:1px solid #e5ecf5;min-width:80px;padding:12px 8px}.appendix-table td:first-child{min-width:170px}.appendix-table td strong{color:#245e97;margin-bottom:5px;font-size:12px;display:block}.appendix-table td div{line-height:1.6}.appendix-table td small{white-space:pre-wrap;max-width:250px;margin-top:5px;font-size:10px;display:block}.money-cell{white-space:nowrap;text-align:right}.appendix-actions{white-space:nowrap}.form-business-note{border:1px solid var(--border);color:#6b819a;background:#f3f7fd;border-radius:6px;margin-bottom:20px;padding:11px 13px;font-size:12px}.contract-detail-heading .toolbar-actions{flex-shrink:0}.contract-detail-heading .button{font-size:11px}@media (min-width:1600px){.contract-workspace{grid-template-columns:350px minmax(0,1fr)}.contract-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1100px){.contract-workspace{grid-template-columns:270px minmax(0,1fr)}.contract-toolbar{flex-wrap:wrap}.contract-status-filter{width:150px}.contract-detail-heading{flex-direction:column}.contract-detail-heading .toolbar-actions{align-self:flex-end}}@media (max-width:760px){.contract-workspace{flex-direction:column;display:flex;overflow:auto}.contract-list-panel{flex-shrink:0;min-height:200px;max-height:300px}.contract-detail{flex-shrink:0;min-height:450px;overflow:visible}.contract-detail-body{overflow:visible}.contract-toolbar>[data-total]{display:none}.contract-toolbar .contract-search{flex-basis:100%}.contract-facts{grid-template-columns:1fr 1fr}.contract-title-block h2{font-size:16px}}.contract-tabs{border-bottom:1px solid var(--border);background:#fafcff;flex-shrink:0;gap:4px;padding:0 15px;display:flex}.contract-tab{color:#6d8196;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 10px;font-size:12px}.contract-tab.active{color:#426b35;border-bottom-color:#80b863;font-weight:650}.finance-panel{flex-direction:column;gap:12px;display:flex}.finance-toolbar{flex-wrap:wrap;align-items:flex-end;gap:9px;display:flex}.finance-toolbar>label{color:#66809a;flex-direction:column;gap:6px;font-size:11px;display:flex}.finance-toolbar .control{min-height:35px;font-size:12px}.finance-toolbar>[data-add]{margin-left:auto}.finance-totals{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;display:grid}.finance-total{background:#f7fbf3;border:1px solid #dae7d3;border-radius:8px;padding:13px}.finance-total-title{color:#416a31;margin-bottom:12px;font-size:12px;display:block}.finance-total-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px;display:grid}.finance-total-grid>div{flex-direction:column;gap:7px;min-width:0;display:flex}.finance-total-grid strong{overflow-wrap:anywhere;font-size:13px}.debt-value{color:#396b2c;font-weight:650}.overdue-value{color:#bd482f!important}.finance-explainer{color:#70839a;margin:0;font-size:11px;line-height:1.7}.finance-table-wrap{width:100%;overflow:auto}.finance-table{border-collapse:collapse;width:100%;font-size:11px}.finance-table th{text-align:left;white-space:nowrap;color:#5e7891;background:#f5f8fc;border-bottom:1px solid #dfe7f1;padding:11px 9px;font-weight:600}.finance-table td{vertical-align:top;border-bottom:1px solid #e6ecf4;min-width:90px;padding:12px 9px;line-height:1.6}.finance-table td:first-child{min-width:175px;max-width:280px}.finance-table td>strong{font-size:12px;display:block}.finance-table td>small{white-space:pre-wrap;margin-top:5px;font-size:10px;display:block}.finance-table td.money-cell{white-space:nowrap}.finance-table .money-cell small{white-space:normal}.finance-table td.finance-actions{min-width:115px;max-width:160px}.finance-actions .button{white-space:nowrap;margin:0 3px 6px 0;padding:4px 7px;font-size:10px}.payment-status{white-space:nowrap;color:#61788e;background:#eef2f7;border-radius:5px;padding:3px 7px;font-size:10px;display:inline-block}.payment-status.paid{color:#437331;background:#eaf4e4}.payment-status.overdue{color:#ad442c;background:#fff0e9}.payment-status.due{color:#9c7325;background:#fff5dc}.payment-preview{border:1px solid var(--border);background:#f3f8ed;border-radius:7px;margin-bottom:12px;padding:12px 14px;font-size:13px;font-weight:650}.finance-heading{justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;display:flex}.finance-heading>span{color:#7b8da2;font-size:11px;font-weight:400}.receivable-workspace{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.receivable-toolbar{border-bottom:1px solid var(--border);padding:13px}.receivable-toolbar>input{flex:1;min-width:170px}.receivable-toolbar>.control{max-width:220px}.finance-toolbar .company-rollup{white-space:nowrap;flex-direction:row;align-items:center;padding-bottom:8px}.receivable-summary{flex-shrink:0;max-height:50%;padding:14px 14px 0;overflow:auto}.receivable-summary>.finance-explainer{padding:10px 0}.receivable-body{flex:1;min-height:0;padding:0 14px;overflow:auto}.finance-document-link{color:#295d8e;font-size:12px;font-weight:650;text-decoration:none}.finance-document-link:hover{text-decoration:underline}.finance-pagination{border-top:1px solid var(--border);color:#73889f;justify-content:flex-end;align-items:center;gap:14px;padding:10px 15px;font-size:12px;display:flex}.finance-pagination>[data-count]{margin-right:auto}@media (max-width:900px){.finance-toolbar>[data-add]{margin-left:0}.finance-total-grid strong{font-size:12px}.receivable-summary{max-height:48%}.finance-table td{padding:10px 7px}.contract-tabs{padding:0 8px}.contract-tab{padding:12px 8px}}@media (max-width:760px){.finance-totals{grid-template-columns:1fr}.finance-toolbar>label,.finance-toolbar select{max-width:100%}.receivable-toolbar>.control{flex:1;max-width:100%}.receivable-workspace{min-height:650px}.finance-table td:first-child{min-width:160px}.finance-total-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.milestone-items .finance-actions{z-index:1;white-space:nowrap;background:#fff;border-left:1px solid #e5ecf4;min-width:115px;position:sticky;right:0}.milestone-items th:last-child{z-index:2;background:#f5f8fc;border-left:1px solid #e5ecf4;position:sticky;right:0}.finance-actions .finance-row-action{width:28px;min-height:29px;margin:0 3px 3px 0;padding:4px}.milestone-items th{white-space:normal}.milestone-items .finance-table td:first-child{min-width:150px}.service-panel{flex-direction:column;gap:14px;display:flex}.service-note{background:#f7fbf3;border:1px solid #dae7d3;border-radius:7px;margin-top:12px;padding:14px;font-size:12px;line-height:1.8}.service-note p{color:#66805b;margin-top:7px}.service-note a{margin-top:8px;display:block}.service-panel .finance-toolbar>label{min-width:230px;max-width:100%}.service-panel .toolbar-actions{flex-wrap:wrap;margin-left:auto}.service-panel .button{font-size:11px}.focused-milestone{background:#f3f8eb}.contract-tabs{overflow:auto}.service-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-panel{flex-direction:column;gap:14px;display:flex}.legal-toolbar{align-items:flex-end}.legal-toolbar label{flex:1;min-width:140px;max-width:100%}.legal-intro{color:#6e8297;justify-content:space-between;align-items:center;gap:12px;font-size:11px;line-height:1.7;display:flex}.legal-intro p{max-width:500px}.legal-documents{flex-direction:column;gap:14px;display:flex}.legal-document{border:1px solid var(--border);background:#fff;border-radius:8px;flex-shrink:0;overflow:hidden}.legal-document-header{border-bottom:1px solid var(--border);background:#f5f9fd;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.legal-document-header h3{font-size:14px;font-weight:650}.legal-document-header p{white-space:pre-wrap;margin-top:6px;font-size:11px;line-height:1.6}.legal-document .toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.legal-document .button,.legal-panel .button{min-height:28px;padding:4px 7px;font-size:10px}.legal-version{border-bottom:1px solid #e7edf4;gap:12px;padding:15px;display:flex}.legal-version:last-child{border-bottom:0}.legal-version-number{color:#588042;text-align:center;background:#f0f6e9;border:1px solid #dfebd4;border-radius:6px;align-self:flex-start;min-width:35px;padding:6px;font-size:12px;font-weight:650}.legal-version-body{flex:1;min-width:0;font-size:12px;line-height:1.8}.legal-version-title{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:4px;display:flex}.legal-file-name{text-align:left;color:#1e6095;overflow-wrap:anywhere;font-size:13px;font-weight:650}.legal-version-body p{white-space:pre-wrap;margin:7px 0}.legal-source{color:#708599;font-size:11px}.legal-version-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.official-badge{color:#a56c28;background:#fff0dc;border:1px solid #f0d9b8;border-radius:5px;padding:2px 6px;font-size:10px}.legal-panel .dynamic-form{margin-bottom:12px}@media (max-width:1000px){.legal-document-header{flex-direction:column}.legal-document-header .toolbar-actions{justify-content:flex-start}.legal-intro{flex-wrap:wrap}}.pdf-viewer{flex-direction:column;width:100%;min-height:100%;display:flex}.pdf-toolbar{border-bottom:1px solid var(--border);z-index:1;background:#f7faff;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:10px;display:flex;position:sticky;top:0}.pdf-page-label{padding:0 8px;font-size:12px}.pdf-stage{background:#dce3eb;justify-content:center;align-items:flex-start;min-height:150px;padding:16px;display:flex;overflow:auto}.pdf-canvas{background:#fff;flex-shrink:0;box-shadow:0 2px 12px #20384e30}.pdf-stage{text-align:center;display:block}.pdf-canvas{margin:0 auto;display:block}.file-drawer{z-index:100}.file-panel{border-radius:0;width:min(1020px,92vw);height:100dvh;position:absolute;inset:0 0 0 auto;box-shadow:-7px 0 30px #14355d25}.file-panel>header{flex-shrink:0;min-height:54px;padding:10px 16px}.file-panel h2{min-width:0}.file-panel header>div{flex-shrink:0}.file-body{overscroll-behavior:contain;padding:0}.file-body>.skeleton{width:100%;padding:16px}body:has(#file-dialog:not([hidden])){overflow:hidden}.pdf-viewer,.excel-viewer{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.pdf-toolbar,.excel-toolbar{z-index:1;border-bottom:1px solid var(--border);background:#f7faff;flex-wrap:wrap;flex-shrink:0;justify-content:flex-start;align-items:center;gap:6px;padding:6px 10px;display:flex;position:relative}.pdf-stage,.excel-stage{overscroll-behavior:contain;overflow-anchor:none;flex:1;min-height:0;padding:16px;position:relative;overflow:auto}.pdf-page{background:#fff;flex-shrink:0;margin:0 auto 16px;position:relative;box-shadow:0 2px 12px #20384e30}.pdf-canvas{box-shadow:none;margin:0}.pdf-placeholder{color:#445b73;background:linear-gradient(120deg,#fff,#f1f4f8,#fff);justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.excel-toolbar .control{width:auto;max-width:45%;min-height:30px}.excel-stage{text-align:left;background:#edf1f7}.excel-sheet{border:1px solid var(--border);background:#fff;width:max-content;min-width:100%;margin-bottom:18px;scroll-margin-top:0}.excel-sheet-title{color:var(--ink);border-bottom:1px solid var(--border);background:#edf5ef;padding:8px 12px;font-size:14px}.excel-grid{border-collapse:collapse;table-layout:auto;font-size:14px}.excel-grid td,.excel-grid th{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top;color:#17334e;border:1px solid #d5dee8;min-width:92px;max-width:420px;padding:4px 8px}.excel-grid th{text-align:center;background:#edf1f7;font-size:13px;font-weight:500}.excel-grid .excel-row-number{min-width:42px}.excel-grid .excel-number{text-align:right;font-variant-numeric:tabular-nums}.excel-sentinel,.excel-notice{color:#435c73;padding:8px 12px;font-size:13px}.excel-grid td:empty{height:28px}@media (max-width:760px){.file-panel{width:100vw}.file-panel>header{gap:8px;padding:8px 10px}.file-panel header>div{gap:4px}.file-panel [data-download]{padding:5px 8px;font-size:13px}.pdf-toolbar{gap:4px}.pdf-toolbar .button{padding:4px 7px;font-size:12px}.pdf-stage,.excel-stage{padding:8px}.pdf-page{margin-bottom:10px}.excel-toolbar .muted{font-size:12px}.excel-toolbar .control{max-width:100%}}.upload-errors{color:#b23c26;white-space:pre-wrap;padding:8px 0;font-size:11px;line-height:1.7;display:block}.layout-content,.record-panel,.file-panel,.confirm-panel{--ink:#152b45;--muted:#40536a;color:var(--ink);font-size:16px;line-height:1.6}.contract-card-title,.contract-card-heading>strong,.contract-card-footer,.contract-fact span,.contract-description,.contract-title-tags,.contract-heading-number,.finance-table,.appendix-table,.finance-table td>strong,.appendix-table td strong,.role-matrix,.legal-version-body,.legal-document-header p,.legal-file-name,.legal-document-header h3,.finance-document-link,.shortcut,.view-value,.preview-text,.appendix-heading,.contract-search input{font-size:16px}.contract-detail-heading h2,.record-panel h2,.file-panel h2,.confirm-panel h2{font-size:20px;font-weight:650;line-height:1.4}.contract-card-partner,.contract-card>small,.contract-fact small,.finance-table td>small,.appendix-table td small,.finance-explainer,.finance-toolbar>label,.finance-total-grid small,.contract-totals>small,.legal-version-body>small,.legal-source,.table-summary,.filter-field,.role-toolbar>.muted,.finance-heading,.finance-heading>span,.contract-pagination,.finance-pagination,.stage-note,.service-note,.service-note p,.overview-card p,.upload-control small,.upload-errors,.compact-files .file-link,.official-badge,.payment-status,.status-pill,.contract-card .status-pill,.count-pill,.action-tag{font-size:14px;font-weight:500}.layout-content .muted,.layout-content .text-muted,.record-panel small{font-size:14px}.contract-card .status-pill,.contract-fact small{font-weight:600}.contract-totals>strong{font-size:16px}.currency-total>span{font-size:14px;font-weight:600}.document-direction{color:#315724;font-size:14px;font-weight:600}.document-direction.buy{color:#795016}.contract-card-partner,.finance-table th,.finance-explainer,.finance-heading>span,.finance-toolbar>label,.finance-pagination,.legal-intro,.legal-source,.form-business-note,.stage-note,.service-note p,.contract-description p{color:var(--muted)}.contract-tab{color:var(--muted);font-size:16px;font-weight:500}.contract-tab.active{color:#315d26;font-weight:700}.record-kind{color:#315d26;margin-bottom:7px;font-size:14px;font-weight:650}.finance-total-title{color:#315d26;font-size:16px;font-weight:650}.finance-total-grid strong,.currency-total,.currency-total strong{font-size:18px;font-weight:650}.currency-total strong,.legal-version-number{color:#315724}.finance-table th,.appendix-table th,.role-matrix th{color:#253b54;font-size:15px;font-weight:700}.finance-table td,.appendix-table td{line-height:1.65}.legal-intro,.form-business-note{font-size:15px}.field-label{color:var(--ink);font-size:15px;font-weight:650}.layout-content .control,.record-body .control,.password-form .control,.role-search{color:var(--ink);min-height:40px;font-size:16px;font-weight:500;line-height:1.5}.ts-control,.ts-dropdown,.ts-control input{font-weight:500;color:var(--ink)!important;font-size:16px!important}.ts-control{min-height:40px}.record-panel .ql-container,.record-panel .ql-editor{color:var(--ink);font-size:16px;line-height:1.6}.layout-content input::placeholder,.record-panel input::placeholder,.record-panel textarea::placeholder{color:#52657b;opacity:1;font-size:14px}.disabled-field{opacity:1}.record-panel input:disabled,.record-panel textarea:disabled,.record-panel select:disabled,.ts-wrapper.disabled .ts-control,.ts-wrapper.disabled .ts-control input{-webkit-text-fill-color:#34465b;background:#edf2f7;color:#34465b!important;opacity:1!important}.layout-content .button,.record-panel .button,.file-panel .button,.confirm-panel .button,.legal-panel .button,.legal-document .button,.finance-actions .button,.contract-detail-heading .button,.service-panel .button,.pdf-toolbar .button{min-height:36px;font-size:14px;font-weight:600}.finance-actions .finance-row-action>i{font-size:14px}.tabulator .tabulator-header{color:#253b54;font-weight:700}.tabulator .tabulator-footer{color:var(--muted);font-size:14px}.payment-status,.count-pill{color:#40536a;font-weight:600}.status-pill,.payment-status.paid{color:#315724;background:#edf5e8;font-weight:600}.payment-status.overdue{color:#8c3020}.payment-status.due{color:#795016}.schedule-warning{color:#875214}.official-badge,.action-tag{color:#794b11}.parent-record-link{color:#14538d;font-size:14px;text-decoration:underline}.attachment-target{color:#294c6c;font-size:14px}.document-category{color:#4b4270;font-size:14px;display:inline-block}.legal-version-number,.pdf-page-label{font-size:14px;font-weight:600}.legal-toolbar{flex-wrap:wrap}.flatpickr-calendar,.flatpickr-day,.flatpickr-weekday{color:#253b54;font-size:14px}.document-category{margin-top:4px;display:block}.money-input{text-align:right;font-variant-numeric:tabular-nums}.upload-item.has-description{display:block}.upload-item-heading{align-items:flex-start;gap:8px;width:100%;display:flex}.upload-item-heading .file-list{flex:1;min-width:0}.file-description-label{margin-top:6px;font-size:14px;font-weight:600;display:block}.file-description{resize:vertical;width:100%;margin-top:4px}.file-description-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin-top:4px;font-size:14px;display:block}.file-list-item{min-width:0}.route-view{flex-direction:column;flex:1;gap:13px;height:100%;min-height:0;display:flex}.table-body{position:relative}.table-skeleton{pointer-events:none;background:#fff;position:absolute;inset:42px 0 52px;overflow:hidden}.skeleton{pointer-events:none;width:100%;min-height:220px;padding:16px}.skeleton-toolbar{justify-content:space-between;gap:20px;height:38px;margin-bottom:18px;display:flex}.skeleton-toolbar>span:first-child{width:55%}.skeleton-toolbar>span:last-child{width:20%}.skeleton-row{border-bottom:1px solid var(--border);grid-template-columns:2fr 3fr 2fr;gap:24px;padding:17px 0;display:grid}.skeleton span:not(.sr-only){background:linear-gradient(90deg,#e1e8ef 25%,#f3f6f9 50%,#e1e8ef 75%) 0 0/200% 100%;border-radius:5px;min-height:18px;animation:1.5s ease-in-out infinite skeleton-shimmer;display:block}.table-skeleton .skeleton{padding:0 12px}.table-skeleton .skeleton-toolbar{display:none}.table-summary{align-items:center;gap:10px;display:flex}.load-progress{background:#71965c;width:50px;height:3px;animation:1s ease-in-out infinite skeleton-progress}.page-error .button{margin:12px;display:block}.load-error{color:#8c3020;padding:12px}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@keyframes skeleton-progress{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.skeleton span:not(.sr-only),.load-progress{animation:none}}.layout-content,.record-panel,.file-panel,.confirm-panel{font-size:14px;line-height:1.45}.layout-topbar{height:52px;min-height:52px;padding:5px 12px}.sidebar-logo{height:52px;min-height:52px}.layout-content{padding:8px}.layout-content .control,.record-body .control,.password-form .control,.role-search{min-height:32px;padding:5px 8px;font-size:14px;line-height:1.4}.ts-control,.ts-dropdown,.ts-control input{font-size:14px!important}.ts-control{min-height:32px;padding:5px 8px!important}.layout-content .button,.record-panel .button,.file-panel .button,.confirm-panel .button,.legal-panel .button,.legal-document .button,.finance-actions .button,.contract-detail-heading .button,.service-panel .button,.pdf-toolbar .button{min-height:30px;padding:4px 8px;font-size:13px}.icon-button{width:30px;height:30px;min-height:30px}.work-card{box-shadow:none;border-radius:7px}.toolbar-actions{gap:5px}.records-workspace{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.records-toolbar{flex-shrink:0;align-items:center;gap:6px;padding:8px;display:flex}.records-toolbar>[data-search]{flex:1;min-width:140px}.records-summary{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-shrink:0;gap:18px;padding:5px 9px;font-size:13px;display:flex}.records-summary strong{font-size:14px}.records-table-scroll{flex:1;min-height:120px;overflow:auto}.compact-table{border-collapse:collapse;width:100%;font-size:14px}.compact-table th{text-align:left;color:#253b54;white-space:nowrap;background:#f3f6fa;font-size:13px;font-weight:650}.compact-table th,.compact-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px;line-height:1.4}.records-table{min-width:880px}.records-table thead th{z-index:2;position:sticky;top:0}.records-table tbody tr{cursor:pointer}.records-table tbody tr:hover,.records-table tbody tr:focus{background:#edf4fb;outline:0}.records-table small{display:block;font-size:12px!important}.record-col-number{min-width:155px}.record-col-title{min-width:210px;max-width:270px}.record-col-partner_name{min-width:165px;max-width:220px}.record-col-after_amount{white-space:nowrap;min-width:140px;font-weight:600}.record-col-status_name{white-space:nowrap;min-width:100px}.record-col-payment_percent{min-width:105px}.record-col-signed_date{min-width:100px}.column-sort{font:inherit;color:inherit;text-align:left;font-weight:650}.payment-progress{background:#dce5ed;border-radius:3px;min-width:75px;height:3px;margin-top:5px;overflow:hidden}.payment-progress span{background:#427b39;height:100%;display:block}.status-pill,.payment-status,.count-pill{padding:2px 5px;font-weight:600;font-size:12px!important}.compact-pagination{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.compact-pagination>[data-total]{margin-right:auto}.compact-pagination select{border:1px solid var(--border);border-radius:4px;padding:3px}.column-picker{position:relative}.column-picker>summary{list-style:none}.column-picker>div{z-index:15;border:1px solid var(--border);background:#fff;min-width:225px;padding:8px;position:absolute;top:34px;right:0;box-shadow:0 4px 16px #1233}.column-option{gap:8px;padding:4px;font-size:13px;display:flex}.record-filters{border-top:1px solid var(--border);background:#f8fafc;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:46vh;padding:9px;display:grid;overflow:auto}.compact-filter{flex-direction:column;gap:4px;min-width:0;font-size:13px;font-weight:600;display:flex}.compact-filter .ts-wrapper{width:100%;font-weight:400}.compact-filter .ts-control{max-height:70px;overflow:auto}.filter-select-tools{gap:12px;font-weight:400;display:flex}.text-button{color:#14538d;padding:0;font-size:12px;text-decoration:underline}.range-inputs{gap:4px;display:flex}.range-inputs input{width:50%;min-width:0}.range-preset{font-size:12px!important}.record-filters .ts-dropdown{z-index:25}.contract-detail{height:100%;min-height:0;overflow:hidden}.contract-detail-heading{flex-direction:row;align-items:center;gap:8px;min-height:40px;padding:6px 8px}.contract-detail-heading h2{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;line-height:1.35;overflow:hidden}.contract-detail-heading .toolbar-actions{align-self:auto}.contract-tabs{flex-shrink:0;gap:2px;padding:0 8px}.contract-tab{padding:7px 8px;font-size:13px}.contract-detail-body{flex:1;min-height:0;padding:9px;overflow:auto}.contract-facts,.service-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.contract-fact{border-radius:4px;gap:3px;min-height:0;padding:7px 9px}.contract-fact small{color:var(--muted);font-size:12px;font-weight:600}.contract-fact strong,.contract-fact span{color:var(--ink);font-size:14px;font-weight:600}.contract-description{padding:9px 0;font-size:14px}.contract-description p,.legacy-note p{white-space:pre-wrap;margin-top:5px}.legacy-note{background:#fff9e9;border:1px solid #eadcb9;border-radius:4px;margin-top:8px;padding:7px 9px;font-size:13px}.legacy-note summary{cursor:pointer;font-weight:600}.record-panel{width:min(1080px,94vw)}.record-panel>header,.file-panel>header{min-height:44px;padding:9px 14px}.record-panel h2,.file-panel h2,.confirm-panel h2{font-size:17px}.record-body{padding:12px 14px}.record-panel>footer{padding:8px 14px}.form-grid{gap:10px 12px}.form-field{gap:4px}.field-label{font-size:13px;font-weight:650}.form-field textarea{min-height:58px;max-height:60vh;overflow-y:hidden}.form-business-note{margin-bottom:10px;padding:7px 9px;font-size:13px}.view-value{padding:7px;font-size:14px}.file-description-label,.file-description-text{font-size:13px}.upload-control{gap:7px;padding:8px}.upload-item{padding:5px 0}.list-workspace{padding:8px}.list-toolbar{padding-bottom:7px}.tabulator{font-size:14px}.tabulator .tabulator-col-title{font-size:13px;line-height:1.3}.tabulator .tabulator-header .tabulator-col{min-height:32px;padding:4px}.tabulator-row{min-height:32px}.tabulator .tabulator-cell{padding:7px 8px;line-height:1.35}.tabulator .tabulator-footer{padding:6px 8px;font-size:13px}.row-action{width:27px;height:25px}.filter-panel{gap:7px;padding:8px}.filter-field{width:190px;font-size:13px}.filter-field input,.filter-field select{font-size:13px}.finance-panel,.service-panel,.legal-panel{gap:8px}.finance-toolbar{gap:6px}.finance-totals{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:6px}.finance-total{border-radius:5px;padding:8px 10px}.finance-total-title{margin-bottom:6px;font-size:13px}.finance-total-grid{gap:6px 10px}.finance-total-grid small{font-size:12px}.finance-total-grid strong{font-size:15px}.finance-explainer{font-size:13px}.finance-table,.appendix-table,.role-matrix{font-size:14px}.finance-table th,.appendix-table th,.role-matrix th{padding:6px 8px;font-size:13px}.finance-table td,.appendix-table td,.role-matrix td{padding:7px 8px;line-height:1.45}.finance-table td>strong,.appendix-table td strong{font-size:14px}.finance-table td>small,.appendix-table td small{margin-top:3px;font-size:12px}.finance-actions .finance-row-action{width:27px;min-height:27px}.receivable-toolbar{padding:8px}.receivable-summary{padding:8px 8px 0}.receivable-body{padding:0 8px}.service-note{margin-top:7px;padding:8px;font-size:13px}.legal-intro{gap:8px;font-size:13px}.legal-document-header{align-items:center;padding:7px 9px}.legal-document-header h3{font-size:14px}.legal-document-header p{margin-top:2px;font-size:12px}.legal-version{gap:8px;padding:7px 9px}.legal-version-body,.legal-file-name{font-size:14px}.legal-version-body>small,.legal-source,.document-category{font-size:12px}.legal-version-actions{gap:4px;margin-top:5px}.legal-table td{font-size:13px}.legal-table .legal-file-name{font-size:14px}.legal-table .legal-version-actions{flex-wrap:nowrap;margin:0}.legal-table .file-description-text{font-size:13px}.legal-table-scroll{overflow:auto}.legal-table{min-width:720px}.history-table{min-width:650px}.history-change{overflow-wrap:anywhere;max-width:560px;font-size:13px}.overview-grid{gap:8px}.overview-card{padding:10px 12px}.overview-card h2{font-size:16px}.overview-number{font-size:22px}.shortcut-grid{gap:6px;padding:8px}.shortcut{padding:8px;font-size:14px}.section-bar{padding:9px 12px}@media (max-width:1000px){.record-filters,.contract-facts,.service-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-document-header{flex-direction:row}}@media (max-width:760px){.layout-content{padding:5px}.records-toolbar{flex-wrap:wrap;padding:6px}.records-toolbar>[data-search]{flex-basis:100%}.records-summary{flex-wrap:wrap;gap:3px 12px}.record-filters{grid-template-columns:1fr 1fr;max-height:45vh}.record-filters .compact-filter{font-size:12px}.contract-detail{min-height:0}.contract-detail-heading h2{font-size:14px}.contract-detail-body{padding:7px;overflow:auto}.contract-facts,.service-facts{grid-template-columns:1fr 1fr}.record-panel{width:100vw}.record-body{padding:10px}.form-field{grid-column:span 12}.finance-totals{grid-template-columns:1fr}.finance-total-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-total-grid strong{font-size:14px}.finance-panel,.receivable-workspace{min-height:0}.finance-toolbar>label{flex:1;min-width:135px}.contract-tabs{overflow:auto}.legal-document-header{flex-direction:column;align-items:flex-start}.compact-pagination{gap:4px}.function-search{display:none}}.dashboard-heading{justify-content:space-between;align-items:center;display:flex}.dashboard-heading h2{font-size:16px}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.dashboard-metric{flex-direction:column;gap:5px;padding:10px 12px;display:flex}.dashboard-metric small{color:var(--muted);font-size:12px}.dashboard-metric strong{font-size:18px}.dashboard-records{min-height:0;overflow:auto}.dashboard-records table{min-width:760px}@media (max-width:760px){.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-metric strong{font-size:15px}}.payment-conditions{margin-top:3px;font-size:12px}.payment-conditions summary{cursor:pointer;color:#14538d}.payment-conditions p{white-space:pre-wrap;padding:6px 0;font-size:13px}.record-col-title,.record-col-partner_name{overflow-wrap:anywhere}.record-cell-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.record-col-number{z-index:1;background:#fff;position:sticky;left:0}.records-table thead th:first-child{z-index:3;left:0}.records-table tbody tr:hover .record-col-number{background:#edf4fb}.history-changes summary{cursor:pointer;color:#14538d;font-size:13px}.history-changes .history-change{border-bottom:1px dotted var(--border);padding:3px 0}.pdf-toolbar .pdf-page-input{width:64px;min-height:30px;font-size:13px}.pdf-toolbar .button{min-height:30px;font-size:13px}.pdf-toolbar{padding:6px}.mobile-record-title,.mobile-record-company,.mobile-record-meta{display:none}@media (max-width:760px){.records-table{table-layout:fixed;width:100%;min-width:0;display:block}.records-table thead{display:none}.records-table tbody{display:block}.records-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 135px;gap:8px;padding:8px;display:grid}.records-table td{display:none}.records-table td.record-col-number,.records-table td.record-col-after_amount{background:0 0;border:0;min-width:0;max-width:none;padding:0;display:block;position:static}.records-table td.record-col-number>small{display:none}.record-col-number>strong{overflow-wrap:anywhere;font-size:13px}.records-table .record-col-after_amount{text-align:right;white-space:normal}.mobile-record-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:13px;font-weight:400;line-height:1.4;display:-webkit-box;overflow:hidden}.mobile-record-company{color:var(--muted);margin-top:3px;font-size:12px;display:block}.mobile-record-meta{justify-content:flex-end;align-items:center;gap:5px;margin-top:5px;display:flex}.mobile-record-meta small{font-weight:400}.column-picker{display:none}}.finance-document-link{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.report-cell-title{white-space:nowrap;text-overflow:ellipsis;color:#344d66;margin-top:2px;font-size:12px;font-weight:400;display:block;overflow:hidden}.report-table td:has(.report-cell-title){height:46px}.report-workspace{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.report-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;padding:8px 10px;display:flex;overflow-x:auto}.report-tab{white-space:nowrap;border-radius:4px;padding:7px 10px;font-size:13px}.report-tab.active{color:#285f2b;background:#eaf3e5;font-weight:650}.report-filter-toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.report-filter-toolbar>input{flex:1;min-width:160px}.report-filter-context{color:#435a70;padding:0 12px 8px;font-size:12px}.report-filters{grid-template-columns:repeat(4,minmax(0,1fr));max-height:42vh;padding:10px 12px}.report-date-range{grid-row:span 2}.report-checkbox{align-self:start;align-items:center;gap:7px;font-size:13px;line-height:1.5;display:flex}.report-tools{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;display:flex}.report-tools>strong{font-size:14px}.report-summary{flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:8px;padding:0 12px;display:grid}.report-total{background:#f5f9f1;border:1px solid #dbe7d5;border-radius:5px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px;padding:8px 10px;display:grid}.report-total>strong{grid-column:1/-1;font-size:13px}.report-total>span{flex-direction:column;gap:3px;min-width:0;display:flex}.report-total small{font-size:12px}.report-total b{overflow-wrap:anywhere;font-size:14px}.report-total>.schedule-warning{grid-column:1/-1}.report-note{color:#42596e;flex-shrink:0;padding:8px 12px;font-size:12px}.report-table-scroll{border-top:1px solid var(--border);flex:1;min-height:100px;position:relative;overflow:auto}.report-table{table-layout:fixed;min-width:100%}.report-table th{z-index:2;position:sticky;top:0}.report-table td{white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;height:34px;overflow:hidden}.report-table th,.report-table td{padding:6px 9px}.report-money{text-align:right;font-variant-numeric:tabular-nums}.report-record-link{color:#165b93;font-weight:600}.report-record-link:hover{text-decoration:underline}.report-small-scroll{overflow-x:auto}.report-small-table{min-width:420px}.report-small-table td{vertical-align:middle;font-size:13px}.report-small-table td>div>small{margin-top:3px;font-size:12px;display:block}.report-small-table .empty{padding:16px}.report-table-scroll>.skeleton,.report-table-scroll .page-error{padding:12px}.analytics-body{flex-direction:column;flex-shrink:0;gap:12px;min-width:0;padding-bottom:8px;display:flex}.dashboard-heading{flex-wrap:wrap;flex-shrink:0;gap:10px}.analytics-caption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.analytics-caption>span{font-size:12px}.analytics-balances{grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:10px;display:grid}.analytics-balance{padding:10px 12px}.analytics-balance h3{margin:0 0 8px;font-size:14px;font-weight:650}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.analytics-kpi{color:var(--ink);flex-direction:column;gap:5px;min-width:0;padding:5px 0;display:flex}.analytics-kpi:hover{color:#2b672d}.analytics-kpi small{font-size:12px}.analytics-kpi strong{overflow-wrap:anywhere;font-size:16px}.analytics-footnote{color:#42596e;padding:5px 12px;font-size:12px;display:block}.analytics-balance .analytics-footnote{padding:5px 0 0}.analytics-section-heading{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.analytics-section-heading h3{font-size:14px;font-weight:650}.analytics-section-heading a{font-size:12px}.analytics-section-heading select{width:auto;min-width:150px;max-width:100%;font-size:13px}.analytics-chart-scroll{padding:6px 12px 10px;overflow-x:auto}.analytics-chart-legend{gap:18px;padding:4px 0;font-size:12px;display:flex}.analytics-chart-legend>span:before{content:"";border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.analytics-chart-legend .planned:before,.analytics-bar.planned{background:var(--orange)}.analytics-chart-legend .actual:before,.analytics-bar.actual{background:var(--green)}.analytics-chart{background:repeating-linear-gradient(0deg,#0000 0 39px,#e3eaf3 40px);border-bottom:1px solid #c5d2df;justify-content:space-around;align-items:flex-end;min-width:600px;height:180px;display:flex}.analytics-chart-month{text-align:center;flex:1;min-width:45px}.analytics-chart-month small{margin-top:4px;font-size:11px;display:block}.analytics-chart-bars{justify-content:center;align-items:flex-end;gap:4px;height:155px;display:flex}.analytics-bar{border-radius:3px 3px 0 0;width:14px;min-width:8px}.analytics-bar:hover{outline-offset:1px;outline:2px solid #1e4568}.analytics-bar:disabled{opacity:1}.analytics-period-total{padding-top:8px;font-size:13px}.analytics-grid{grid-template-columns:1.4fr 1fr;gap:12px;min-width:0;display:grid}.analytics-grid>section{min-width:0}.analytics-state-list{flex-direction:column;gap:4px;padding:6px 12px;display:flex}.analytics-state{color:var(--ink);border-bottom:1px solid #e7edf3;justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;display:flex}.analytics-state strong{background:#edf4e9;border-radius:4px;padding:2px 8px}.analytics-quality{background:#fff9ec;border:1px solid #eadbb7;border-radius:5px;flex-wrap:wrap;gap:6px 12px;padding:8px 10px;display:flex}.analytics-quality-link{color:#735013;font-size:12px}@media (max-width:1000px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid,.analytics-balances{grid-template-columns:1fr}}@media (max-width:760px){.report-workspace{height:auto;min-height:calc(100dvh -70px);flex:none;overflow:visible}.report-tabs{padding:6px}.report-tab{padding:6px;font-size:12px}.report-filter-toolbar{gap:6px;padding:8px}.report-filter-toolbar>input{flex-basis:100%}.report-filter-context{padding:0 8px 8px}.report-filters{grid-template-columns:1fr 1fr;max-height:45vh;padding:8px}.report-date-range{grid-area:auto/1/auto/-1}.report-tools{flex-wrap:wrap;padding:8px}.report-tools .toolbar-actions{margin-left:auto}.report-summary{grid-template-columns:1fr;padding:0 8px}.report-total{grid-template-columns:1fr 1fr}.report-table-scroll{flex:none;min-height:160px;overflow:auto}.report-note{padding:8px}.analytics-balances{display:block}.analytics-balance+.analytics-balance{margin-top:10px}.analytics-kpis{grid-template-columns:1fr 1fr;gap:5px 12px}.analytics-kpi strong{font-size:15px}.analytics-caption{padding:0 4px}.analytics-section-heading{padding:8px 10px}.analytics-grid{gap:10px}.analytics-section-heading select{min-width:0}.analytics-body{gap:10px}}.legal-document-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.legal-group-editor,.legal-existing-files{flex-direction:column;gap:12px;display:flex}.legal-editor-heading{margin:0 0 8px;font-size:14px;font-weight:650}.legal-edit-file{border:1px solid var(--border);background:#fff;border-radius:6px;padding:10px}.legal-edit-file-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.legal-edit-file-heading>strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.legal-edit-file-heading .toolbar-actions{flex-shrink:0}.legal-new-files>summary{cursor:pointer;color:#14538d;padding:5px 0;font-size:13px}.legal-new-files>.dynamic-form{margin-top:10px}.legal-edit-file.pending-removal{background:#fff5f3;border-color:#d5a4a0}.legal-edit-file.pending-removal .legal-edit-file-heading>strong{text-decoration:line-through}.legal-new-files{border-top:1px solid var(--border);padding-top:10px}@media (max-width:760px){.legal-edit-file-heading{flex-wrap:wrap}.legal-edit-file-heading .toolbar-actions{justify-content:flex-start;width:100%}.legal-edit-file{padding:8px}}.page-content,.route-view{gap:12px}.layout-content .button,.record-panel .button,.confirm-panel .button,.legal-panel .button,.legal-document .button,.service-panel .button{min-height:34px;padding:6px 10px;line-height:1.4}.layout-content .icon-button{flex-shrink:0;width:34px;height:34px;min-height:34px;padding:6px}.toolbar-actions{flex-wrap:wrap;gap:8px}.records-toolbar{flex-wrap:wrap;gap:8px;padding:10px 12px}.records-summary{padding:7px 12px}.list-toolbar{flex-wrap:wrap;gap:8px;padding-bottom:10px}.role-toolbar{flex-wrap:wrap;gap:10px}.role-toolbar .toolbar-actions{min-width:0}.contract-detail-heading{gap:10px;padding:8px 12px}.contract-detail-body{flex-direction:column;align-items:stretch;gap:12px;padding:12px;display:flex}.contract-detail-body>*{flex-shrink:0}.contract-detail-body>[data-documents]:empty{display:none}.finance-toolbar{flex-shrink:0;gap:10px 8px;padding:0 0 2px}.finance-toolbar>label{gap:5px;font-size:13px}.finance-toolbar .control{min-height:34px}.finance-panel,.service-panel,.legal-panel,.legal-documents{gap:12px}.service-note{margin-top:10px}.service-note p{margin-top:6px}.legal-intro{flex-wrap:wrap;gap:10px}.legal-document-header{gap:10px;padding:10px 12px}.legal-document-header .toolbar-actions{gap:8px}.finance-heading{padding:8px 0}.finance-actions{gap:6px}.finance-actions .finance-row-action,.legal-table .icon-button{width:30px;min-width:30px;height:30px;min-height:30px;padding:4px}.row-action+.row-action{margin-inline-start:4px}.record-panel>footer{flex-wrap:wrap;gap:8px;padding:10px 14px}.record-panel>footer .button{min-width:76px}.compact-pagination,.finance-pagination{flex-wrap:wrap;gap:8px;padding:8px 12px}@media (max-width:760px){.contract-detail-heading{padding:8px 10px}.contract-detail-body{gap:12px;padding:10px}.records-toolbar{gap:8px;padding:10px}.records-toolbar>[data-search]{flex-basis:100%}.finance-toolbar>.toolbar-actions{justify-content:flex-start;width:100%;margin-left:0}.legal-document-header{padding:10px}.legal-document-header .toolbar-actions{justify-content:flex-start}.role-toolbar .toolbar-actions,.role-search{width:100%}.record-panel>footer{padding:10px}.compact-pagination{gap:6px}}.report-table th,.report-table .column-sort{white-space:normal;line-height:1.3}@media (max-width:760px){.report-tools .column-picker{display:block}.report-tools .column-picker>div{max-width:calc(100vw -32px);max-height:55vh;left:0;right:auto;overflow:auto}}.report-partner-text{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}