*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.block{display:block}.inline{display:inline}.table{display:table}.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)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fb;color:#172033}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef4f8,#f7f3ee)}.login-panel{width:min(920px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;background:#fff;border:1px solid #e4e8ef;border-radius:8px;padding:44px;box-shadow:0 24px 80px #14213d1f}.login-panel h1{font-size:42px;line-height:1.1;margin:10px 0 0;color:#14213d}.eyebrow{margin:0;color:#1d9a8a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0}.login-form,.record-form{display:grid;gap:14px}label{display:grid;gap:6px;color:#4b5565;font-size:13px;font-weight:700}input,select{width:100%;border:1px solid #d7dde8;border-radius:6px;padding:11px 12px;background:#fff;color:#172033}.template-form textarea{width:100%;min-height:100px;resize:vertical;border:1px solid #d7dde8;border-radius:6px;padding:11px 12px;background:#fff;color:#172033}button{border-radius:6px;padding:11px 14px;background:#1d9a8a;color:#fff;font-weight:800}button:disabled{cursor:wait;opacity:.65}.error{color:#c2410c;font-weight:700}.success{color:#13795b;font-weight:700}.app-shell{min-height:100vh;display:grid;grid-template-columns:284px 1fr}.sidebar{background:#20314f;color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:900;margin-bottom:24px}.brand-icon{width:28px;height:28px;color:#8ee0d3}.sidebar nav{display:grid;gap:4px}.sidebar button{display:flex;align-items:center;gap:10px;background:transparent;color:#d7e2ef;text-align:left;width:100%;padding:10px;border-radius:6px;font-weight:700}.sidebar button.active,.sidebar button:hover{background:#ffffff1f;color:#fff}.nav-icon{width:18px;height:18px;flex:0 0 auto}.workspace{padding:24px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.topbar h2{margin:4px 0 0;font-size:28px;color:#14213d}.user-box{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e4e8ef;border-radius:8px;padding:10px 12px}.user-box div{display:grid}.user-box span{font-size:12px;color:#667085}.small-icon{width:18px;height:18px;color:#50607a}.icon-button{padding:8px;background:#eef4f8;color:#172033}.stack{display:grid;gap:18px}.work-module-grid{display:grid;gap:24px}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.metric,.panel{background:#fff;border:1px solid #e4e8ef;border-radius:8px}.metric{padding:18px;display:grid;gap:8px;min-height:104px}.metric span{color:#667085;font-size:13px;font-weight:700}.metric strong{font-size:28px;color:#14213d}.content-grid{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:18px;align-items:start}.panel{padding:18px;min-width:0}.panel h3{margin:0;color:#14213d;font-size:17px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.action{display:block;width:100%;margin-bottom:8px;background:#eef4f8;color:#20314f;text-align:left}.list{display:grid;gap:10px}.list-row{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #edf0f5}.list-row span{color:#667085;font-size:13px}.dashboard{min-width:0}.dashboard-loading,.dashboard-error{padding:28px;color:#667085;text-align:center}.dashboard-error h3{color:#14213d}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-metric{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;min-height:92px;padding:15px 17px;border:1px solid #e1e6ee;background:#fff;color:#667085;text-align:left;box-shadow:0 3px 12px #14213d0a}.dashboard-metric:hover{border-color:#a9c8c2;background:#fbfefd}.dashboard-metric-icon{display:grid;grid-row:1 / 3;width:38px;height:38px;place-items:center;border-radius:9px;background:#e8f7f4;color:#187f71}.dashboard-metric-icon svg{width:20px;height:20px}.dashboard-metric>span:not(.dashboard-metric-icon){font-size:12px;font-weight:800}.dashboard-metric strong{color:#14213d;font-size:25px;line-height:1.1}.dashboard-metric.overdue .dashboard-metric-icon{background:#fff0e8;color:#c2410c}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}.dashboard-attention{min-width:0;padding:22px}.dashboard-attention .panel-heading h3{margin-top:4px;font-size:21px}.dashboard-group{padding:15px 0;border-top:1px solid #edf0f5}.dashboard-group h4{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:#20314f;font-size:14px}.dashboard-group h4 span{display:inline-grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:999px;background:#eef2f7;color:#667085;font-size:11px}.dashboard-group-overdue{margin-inline:-10px;padding-inline:10px;border-radius:8px;background:#fffaf7}.dashboard-item-list{display:grid;gap:6px}.dashboard-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:9px 10px;border:1px solid transparent;background:transparent;color:#344054;text-align:left}.dashboard-item:hover{border-color:#dbe4ef;background:#f8fafc}.dashboard-item strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-item time{color:#667085;font-size:12px;font-weight:800}.dashboard-item>svg{width:15px;height:15px;color:#91a0b5}.dashboard-type{padding:3px 7px;border-radius:999px;background:#e8f0fb;color:#245a9b;font-size:10px;font-weight:900;text-transform:uppercase}.dashboard-type.type-deadline{background:#eee8fa;color:#6741a5}.dashboard-type.type-contract{background:#e8f7f4;color:#137466}.dashboard-empty{margin:0;color:#8490a1;font-size:13px}.dashboard-all-done{display:grid;justify-items:center;gap:8px;padding:45px 20px;color:#187f71;text-align:center}.dashboard-all-done svg{width:34px;height:34px}.dashboard-all-link{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:5px;padding:10px 12px;background:#eef4f8;color:#20314f}.dashboard-all-link svg{width:16px}.dashboard-actions{position:sticky;top:20px}.dashboard-actions>button{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:10px 11px;background:#eef4f8;color:#20314f;text-align:left}.dashboard-actions>button:hover{background:#dfeaf1}.dashboard-actions>button svg{width:16px;height:16px;color:#187f71}.toolbar{display:flex;justify-content:space-between;gap:12px}.cash-toolbar,.cash-search-form{display:flex;align-items:center;gap:10px}.cash-search-form{flex:0 0 auto;margin:0}.cash-search-form .search{flex:0 0 300px;width:300px;max-width:100%}.search-button{min-width:96px}.cash-toolbar .search-button,.cash-toolbar .filter-button{align-self:center;min-height:44px}.filter-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:120px;margin-left:auto;background:#20314f}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e4e8ef;border-radius:8px;padding:0 10px;width:min(520px,100%)}.search input{border:0;padding-left:0}.record-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.record-form button,.record-form .success{align-self:end}.cash-record-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cash-record-form .success,.cash-record-form .error{grid-column:1 / -1;margin:0}.cash-record-form>button[type=submit]{grid-column:3;justify-self:end;width:min(220px,100%)}.expand-button{display:grid;width:38px;height:38px;padding:0;place-items:center;background:#eef4f8;color:#20314f}.expand-button:hover{background:#dbe7f1}.expand-button svg{width:19px;height:19px}.delete-button{display:inline-grid;place-items:center;padding:7px;background:#fee2e2;color:#991b1b}.delete-button:hover{background:#fecaca}.print-button{display:inline-grid;place-items:center;padding:7px;background:#dbeafe;color:#1e40af}.print-button:hover{background:#bfdbfe}.download-button{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;background:#dbeafe;color:#1e40af;white-space:nowrap}.download-button:hover{background:#bfdbfe}.table-actions{display:inline-flex;align-items:center;justify-content:center;gap:7px}.table-action-icon,.delete-icon{width:17px;height:17px}.cash-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.cash-summary-card{display:grid;gap:5px;padding:14px;border:1px solid #dbe4ef;border-radius:8px;background:#f8fafc}.cash-summary-card span{color:#667085;font-size:12px;font-weight:700}.cash-summary-card strong{color:#14213d;font-size:19px}.cash-summary-card.balance{background:#20314f;border-color:#20314f}.cash-summary-card.balance span,.cash-summary-card.balance strong{color:#fff}.cash-summary-card.income{background:#ecfdf3;border-color:#bbf7d0}.cash-summary-card.expense{background:#fff1f2;border-color:#fecdd3}.cash-summary-card.transfer{background:#eff6ff;border-color:#bfdbfe}.cash-row-income td{background:#ecfdf3}.cash-row-expense td{background:#fff1f2;color:#991b1b}.cash-row-transfer td{background:#eff6ff;color:#1e40af}.cash-row-income td,.cash-row-expense td,.cash-row-transfer td{vertical-align:middle;text-align:center;font-weight:700}.cash-window-backdrop{z-index:40}.cash-records-window{display:flex;flex-direction:column;width:min(1180px,100%);max-height:calc(100vh - 40px);padding:22px;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 24px 80px #0f1d334d}.cash-window-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:0 0 auto;margin-bottom:18px}.cash-window-header h3{margin:5px 0 0;color:#14213d;font-size:22px}.cash-filter-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;flex:0 0 auto;margin-bottom:18px;padding:16px;border:1px solid #dbe4ef;border-radius:8px;background:#f8fafc}.cash-filter-actions{display:flex;justify-content:flex-end;gap:8px;grid-column:1 / -1}.cash-window-results{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.cash-window-results .table-wrap{min-height:0;overflow:auto}.cash-window-results table{min-width:920px}.cash-window-results thead{position:sticky;top:0;z-index:1}.cash-results-summary{display:flex;align-items:baseline;gap:6px;flex:0 0 auto;margin-bottom:10px;color:#667085}.cash-results-summary strong{color:#14213d;font-size:20px}.cash-window-status{margin:24px 0;color:#667085;text-align:center}.table-wrap{overflow:auto;border:1px solid #edf0f5;border-radius:8px}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:12px;text-align:left;border-bottom:1px solid #edf0f5;vertical-align:top}th{background:#f8fafc;color:#50607a;font-size:12px;text-transform:uppercase;letter-spacing:0}td{font-size:14px}.cash-table thead th,.cash-table tbody td{text-align:center;vertical-align:middle}.users-table th,.users-table td{vertical-align:middle}.users-table select{min-width:170px;padding:8px 10px}.templates-table th,.templates-table td{vertical-align:middle}.contract-files{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#eef4f8;color:#20314f;font-weight:800;font-size:12px}.badge.valid,.badge.active,.badge.done,.badge.paid,.badge.accounted{background:#dcfce7;color:#166534}.badge.high,.badge.overdue,.badge.critical,.badge.returned{background:#fee2e2;color:#991b1b}.badge.medium,.badge.review,.badge.ready_for_accounting{background:#fef3c7;color:#92400e}.template-toolbar,.template-filters{display:flex;align-items:center;gap:12px}.template-toolbar{justify-content:space-between}.template-filters,.template-filters .search{flex:1}.template-filters select{width:230px}.notice{margin:0;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid #e4e8ef}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.template-card{display:flex;flex-direction:column;gap:16px;min-width:0;padding:18px;background:#fff;border:1px solid #e4e8ef;border-radius:8px;box-shadow:0 3px 12px #14213d0a}.template-card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.word-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#e8f0fb;color:#245a9b}.word-icon svg{width:24px}.category-badge{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 9px;border-radius:999px;background:#e8f7f4;color:#137466;font-size:11px;font-weight:800}.template-card h3{margin:0;color:#14213d;font-size:19px}.template-description{margin:7px 0 0;color:#667085;font-size:13px;line-height:1.45}.template-card dl{display:grid;gap:9px;margin:auto 0 0}.template-card dl div{min-width:0}.template-card dt{color:#7a8597;font-size:11px;font-weight:800;text-transform:uppercase}.template-card dd{overflow:hidden;margin:2px 0 0;color:#344054;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.template-download{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.template-download svg,.template-actions svg{width:16px;height:16px}.template-actions{display:flex;flex-wrap:wrap;gap:5px;padding-top:12px;border-top:1px solid #edf0f5}.template-actions button{display:inline-flex;align-items:center;gap:4px;padding:6px 7px;background:transparent;color:#50607a;font-size:11px}.template-actions button:hover{background:#eef4f8}.template-actions .danger-link{color:#b42318}.document-workspace{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;overflow:auto;background:#f4f6f9}.document-workspace-bar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 24px;border-bottom:1px solid #dfe4ec;background:#fff}.document-workspace-bar h3{margin:2px 0 0}.document-flow{display:grid;gap:18px;width:min(980px,calc(100% - 32px));margin:24px auto 60px}.document-step{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:22px;border:1px solid #e1e6ee;border-radius:10px;background:#fff}.document-step h4{margin:0 0 7px;font-size:18px}.document-step p{color:#667085}.step-number{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#183b56;color:#fff;font-weight:800}.document-step button{display:inline-flex;align-items:center;gap:7px}.document-step button svg,.upload-ok svg{width:18px;height:18px}.drop-area input[type=file]{display:block;width:100%;margin:14px 0;padding:22px;border:2px dashed #b9c5d4;border-radius:8px;background:#f8fafc}.upload-ok{display:inline-flex;align-items:center;gap:6px;margin-left:12px;color:#18794e;font-weight:700}.registry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.registry-form h4,.registry-form .full{grid-column:1 / -1}.empty-library{display:grid;justify-items:center;padding:64px 20px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;color:#667085;text-align:center}.empty-library svg{width:42px;height:42px;color:#91a0b5}.empty-library h3{margin:12px 0 4px;color:#20314f}.empty-library p{margin:0}.modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f1d3394}.template-modal{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:22px;border-radius:10px;background:#fff;box-shadow:0 24px 80px #0f1d334d}.modal-heading{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px}.modal-heading h3{margin:5px 0 0;color:#14213d;font-size:21px}.modal-close{display:grid;place-items:center;width:36px;height:36px;padding:0;background:#eef4f8;color:#344054}.modal-close svg{width:19px}.template-form{display:grid;gap:15px}.field-hint{color:#7a8597;font-size:11px;font-weight:500}.replace-note{margin:0;padding:12px;border-radius:6px;background:#f0f8f6;color:#35665f;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.secondary-button{background:#eef2f6;color:#344054}.template-modal.wide{width:min(980px,100%)}.field-list{display:grid;gap:8px;max-height:60vh;overflow:auto}.field-row{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1.4fr auto auto;gap:8px;align-items:center;padding:10px;border:1px solid #e4e8ef;border-radius:8px}.field-row.missing{opacity:.6;background:#fff1f2}.field-row label{display:flex;align-items:center;gap:5px;font-size:12px}.field-row input[type=checkbox]{width:auto}.field-config{display:grid;gap:12px;padding:14px;border:1px solid #e4e8ef;border-radius:8px}.field-config-head,.field-config-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-config-head div,.field-config-footer div{display:grid;gap:3px}.field-config-head span,.field-config-footer span{color:#667085;font-size:11px}.field-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.field-config-footer label{display:flex;align-items:center;gap:6px}.field-config-footer input[type=checkbox]{width:auto}.warning-chip{padding:5px 8px;border-radius:999px;background:#fef3c7;color:#92400e!important;font-weight:700}.automatic-values{padding:12px;border:1px solid #dbe4ef;border-radius:8px;background:#f8fafc}.automatic-values summary{cursor:pointer;font-weight:800;color:#20314f}.automatic-values dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.automatic-values dt{color:#667085;font-size:12px}.automatic-values dd{margin:2px 0 0;font-weight:700}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;max-height:55vh;overflow:auto}.review-grid p{margin:0;padding:9px;background:#f8fafc;border-radius:6px}.contracts-actions,.contracts-toolbar,.filter-tabs,.icon-text-button,.document-actions button,.attachment-list button,.attachment-form button,.file-button{display:flex;align-items:center;gap:8px}.contracts-actions{gap:12px}.contracts-actions button svg,.icon-text-button svg,.document-actions svg,.attachment-list svg,.attachment-form svg,.file-button svg{width:17px;height:17px}.contracts-toolbar{justify-content:space-between;align-items:stretch;flex-wrap:wrap}.contracts-search-form{display:flex;align-items:center;gap:10px}.contracts-toolbar .search{flex:0 0 300px;width:300px;max-width:100%}.contracts-toolbar .search input{min-width:0}.filter-tabs{flex-wrap:wrap}.filter-tabs button{background:#eef2f7;color:#3f4b5b;border:1px solid #d8dee8}.filter-tabs button.active{background:#184e77;color:#fff;border-color:#184e77}.contracts-table{min-width:1050px}.contracts-table th,.contracts-table td{vertical-align:middle}.table-link,.icon-text-button{padding:0;background:transparent;color:#184e77;border:0;text-align:left}.table-link:hover,.icon-text-button:hover{text-decoration:underline;background:transparent}.contract-row-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.contract-delete-button{display:inline-grid;width:34px;height:34px;padding:0;place-items:center;background:#fee2e2;color:#991b1b}.contract-delete-button:hover{background:#fecaca}.contract-delete-button svg{width:17px;height:17px}.status-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e8eef5;font-size:12px;font-weight:700;white-space:nowrap}.status-active{color:#17633c;background:#dff5e9}.status-draft,.status-signature{color:#7a4b0b;background:#fff0ce}.status-terminated,.status-expired,.status-cancelled{color:#7a2632;background:#f9e1e5}.muted,.empty-row{color:#6d7786}.empty-row{padding:24px;text-align:center}.contract-modal{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto}.contract-modal>form{display:grid;gap:18px}.contract-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contract-form-grid label,.contract-modal>form>label{display:grid;gap:6px;font-weight:650}.contract-form-grid .full{grid-column:1 / -1}.checkbox-label{display:flex!important;grid-template-columns:auto 1fr;align-items:center;align-self:end;min-height:42px}.checkbox-label input{width:auto}.template-choice-list{display:grid;gap:10px;margin-top:20px}.template-choice-list>button{display:flex;align-items:center;gap:12px;text-align:left;background:#f7f9fc;color:#263548;border:1px solid #dfe5ed}.template-choice-list>button:hover{background:#edf4fa}.template-choice-list span{display:grid;gap:3px}.template-choice-list small{color:#6d7786}.detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f1926b8;padding:18px}.contract-detail{height:calc(100vh - 36px);max-width:1500px;margin:auto;background:#fff;border-radius:14px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.contract-detail>header{padding:16px 22px;border-bottom:1px solid #dfe5ed;display:flex;justify-content:space-between;gap:20px}.contract-detail>header h3,.contract-detail>header p{margin:2px 0}.contract-detail-layout{min-height:0;display:grid;grid-template-columns:minmax(380px,460px) 1fr}.contract-detail aside{padding:20px;overflow-y:auto;border-right:1px solid #dfe5ed}.contract-detail aside h4{margin:24px 0 10px}.contract-detail aside h4:first-child{margin-top:0}.contract-detail .contract-form-grid{grid-template-columns:1fr}.contract-detail .contract-form-grid .full{grid-column:auto}.document-actions,.attachment-list{display:grid;gap:8px}.document-actions>div,.attachment-list>div{display:flex;align-items:center;gap:6px;padding:9px;background:#f5f7fa;border-radius:8px}.document-actions span,.attachment-list span{flex:1;overflow:hidden;text-overflow:ellipsis}.document-actions button,.attachment-list button,.attachment-form button{padding:6px 8px}.file-button{width:-moz-fit-content;width:fit-content;margin-top:10px;padding:9px 12px;border-radius:7px;background:#eef2f7;color:#263548;cursor:pointer}.file-button input{display:none}.attachment-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px}.pdf-area{min-width:0;background:#e5e9ee;display:grid;grid-template-rows:auto 1fr}.pdf-heading{padding:11px 16px;background:#f8fafc;border-bottom:1px solid #d5dbe4}.pdf-area iframe{width:100%;height:100%;border:0;background:#fff}.no-preview{align-self:center;justify-self:center;max-width:420px;text-align:center;color:#5f6b79}.no-preview svg{width:50px;height:50px}.work-items{min-width:0;max-width:100%;gap:16px}.work-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.work-heading h3{margin:0;color:#14213d;font-size:24px}.work-heading p{margin:5px 0 0;color:#667085}.work-heading button,.work-detail-actions button{display:inline-flex;align-items:center;gap:7px}.work-heading svg,.work-detail-actions svg{width:17px;height:17px}.work-counters{display:grid;grid-template-columns:repeat(3,minmax(0,170px));gap:10px}.work-counters button{display:flex;align-items:baseline;gap:8px;padding:12px 15px;border:1px solid #dfe5ed;background:#fff;color:#50607a;text-align:left}.work-counters strong{color:#14213d;font-size:22px}.work-panel{min-width:0;max-width:100%;padding:18px;border:1px solid #e1e6ee;border-radius:10px;background:#fff;box-shadow:0 3px 12px #14213d0a}.work-panel .table-wrap{width:100%;max-width:100%}.work-quick-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.work-quick-filters button{padding:7px 12px;border:1px solid #d8dee8;background:#eef2f7;color:#3f4b5b}.work-quick-filters button.active{border-color:#184e77;background:#184e77;color:#fff}.work-filters{display:grid;grid-template-columns:minmax(220px,300px) repeat(4,minmax(135px,1fr));gap:9px;margin-bottom:16px}.work-filters select{min-width:0}.work-search{display:flex;align-items:center;gap:7px;width:100%;padding:0 10px;border:1px solid #cad3df;border-radius:6px;background:#fff}.work-search svg{width:17px;color:#667085}.work-search input{min-width:0;padding:10px 0;border:0;outline:0}.work-table{min-width:980px}.work-table th,.work-table td{vertical-align:middle}.work-table td:nth-child(2){min-width:250px}.work-title-link{padding:0;border:0;background:transparent;color:#184e77;font-weight:800;text-align:left}.work-title-link:hover{background:transparent;text-decoration:underline}.work-table td:nth-child(2) small{display:block;overflow:hidden;max-width:410px;margin-top:3px;color:#667085;text-overflow:ellipsis;white-space:nowrap}.work-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:999px;background:#edf2f7;color:#344054;font-size:12px;font-weight:800;white-space:nowrap}.type-task{background:#e8f0fb;color:#245a9b}.type-deadline{background:#eee8fa;color:#6741a5}.priority-low{background:#edf7f2;color:#28745b}.priority-medium,.status-in_progress,.timing-today{background:#fff0ce;color:#7a4b0b}.priority-high,.timing-overdue{background:#fee2e2;color:#991b1b}.status-done{background:#dcfce7;color:#166534}.status-cancelled{background:#edf0f4;color:#667085}.work-row-done{opacity:.7}.work-row-done .work-title-link{color:#667085;text-decoration:line-through}.work-date{display:grid;gap:4px}.work-actions{display:flex;gap:5px;white-space:nowrap}.work-actions button{display:grid;width:31px;height:31px;padding:0;place-items:center;border:0;background:#eef2f7;color:#344054}.work-actions button:hover{background:#dfe7f0}.work-actions .done-action{background:#dcfce7;color:#166534}.work-actions .delete-action{background:#fee2e2;color:#991b1b}.work-actions svg{width:15px;height:15px}.work-modal{width:min(720px,100%)}.work-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.work-form-grid label{display:grid;gap:6px;font-weight:700}.work-form-grid .full{grid-column:1 / -1}.work-form-grid small{color:#667085;font-weight:500}.work-form textarea{resize:vertical}.work-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.work-detail dl div{padding:11px;border-radius:7px;background:#f8fafc}.work-detail dl .full{grid-column:1 / -1}.work-detail dt{color:#667085;font-size:11px;font-weight:800;text-transform:uppercase}.work-detail dd{margin:4px 0 0;color:#20314f;font-weight:700;white-space:pre-wrap}.work-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.danger-button{background:#b42318;color:#fff}.work-confirm-backdrop{z-index:80}.work-confirm{width:min(440px,100%)}.work-confirm h3{margin-top:0}@media(max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid,.content-grid,.record-form,.cash-summary,.cash-record-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-record-form>button[type=submit]{grid-column:2}.cash-filter-form,.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-detail-layout{grid-template-columns:380px 1fr}.work-filters,.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{grid-template-columns:minmax(0,1fr) 230px}}@media(max-width:680px){.login-panel{grid-template-columns:1fr;padding:24px}.login-panel h1{font-size:30px}.topbar{align-items:flex-start;flex-direction:column}.sidebar nav,.metric-grid,.content-grid,.record-form{grid-template-columns:1fr}.cash-summary,.cash-record-form{grid-template-columns:1fr}.cash-record-form>button[type=submit]{grid-column:1;width:100%}.cash-toolbar,.cash-search-form{align-items:stretch;flex-direction:column}.cash-search-form,.cash-search-form .search,.cash-toolbar>button,.cash-search-form>button{width:100%}.cash-records-window{max-height:calc(100vh - 16px);padding:16px}.cash-filter-form{grid-template-columns:1fr}.cash-filter-actions{flex-direction:column}.cash-filter-actions button{width:100%}.template-grid{grid-template-columns:1fr}.template-toolbar,.template-filters{align-items:stretch;flex-direction:column}.template-toolbar>button,.template-filters select{width:100%}.workspace{padding:16px}.contracts-actions,.contracts-toolbar,.contracts-search-form,.contracts-toolbar .search{width:100%}.contracts-actions,.contracts-toolbar{align-items:stretch;flex-direction:column}.contracts-actions button{justify-content:center;width:100%}.contracts-search-form{align-items:stretch;flex-direction:column}.contracts-toolbar .search{flex:none;padding:8px 10px}.contracts-toolbar .search input{flex:1;min-width:0}.contracts-search-form>button{width:100%}.contract-form-grid{grid-template-columns:1fr}.contract-form-grid .full{grid-column:auto}.detail-backdrop{padding:0}.contract-detail{height:100vh;border-radius:0}.contract-detail-layout{grid-template-columns:1fr;overflow-y:auto}.contract-detail aside{overflow:visible;border-right:0}.pdf-area{min-height:70vh}.work-heading{align-items:stretch;flex-direction:column}.work-heading>button{justify-content:center;width:100%}.work-counters{grid-template-columns:repeat(3,minmax(0,1fr))}.work-counters button{display:grid;gap:2px;padding:10px}.work-counters span{font-size:11px}.work-panel{padding:12px}.work-filters,.work-form-grid,.work-detail dl{grid-template-columns:1fr}.work-form-grid .full,.work-detail dl .full{grid-column:auto}.work-detail-actions{align-items:stretch;flex-direction:column}.work-detail-actions button{justify-content:center;width:100%}.dashboard-metrics,.dashboard-layout{grid-template-columns:1fr}.dashboard-actions{position:static}.dashboard-item{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-item time{grid-column:2}.dashboard-item>svg{grid-column:3;grid-row:1 / 3}}.council-search{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.council-search .search{flex:1;min-width:240px}.council-search>input{width:155px}.council-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.council-actions button{display:inline-flex;gap:6px;align-items:center}.council-actions svg{width:17px;height:17px}.council-document{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:14px;padding:18px;border:1px solid #e2e8f0;border-radius:12px;align-items:start}.council-document h4{margin:8px 0;overflow-wrap:anywhere}.council-match{border-color:#6cb8a5;background:#f3faf7}.council-snippet{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.council-dialog{max-height:90vh;overflow-y:auto}.council-text-dialog{width:min(900px,95vw);max-width:900px}.council-transcript{min-height:45vh;white-space:pre-wrap}@media(max-width:900px){.council-document{grid-template-columns:24px minmax(0,1fr)}.council-document>.council-actions{grid-column:2}}.council-dialog{position:relative;width:min(640px,95vw)}.council-dialog>.modal-close{position:absolute;top:16px;right:16px}.council-dialog>h3{padding-right:40px;margin-bottom:22px}.council-dialog textarea{width:100%;min-height:100px;border:1px solid #d5dde7;border-radius:8px;padding:12px;font:inherit}.council-text-dialog{width:min(900px,95vw)}.council-dialog .council-transcript{min-height:45vh}.council-meeting{padding:0}.council-meeting-summary{display:flex;align-items:center;gap:14px;padding:18px;cursor:pointer;list-style:none;border-radius:10px}.council-meeting-summary::-webkit-details-marker{display:none}.council-meeting-summary:hover{background:#f3f8f7}.council-meeting-summary:focus-visible{outline:3px solid #269b89;outline-offset:2px}.council-meeting-chevron{width:20px;height:20px;flex-shrink:0;transform:rotate(-90deg);color:#527068}.council-meeting[open]>summary .council-meeting-chevron{transform:rotate(0)}.council-meeting-title{flex:1;min-width:0}.council-meeting-title h3{margin:4px 0 0;font-size:18px;color:#14213d;overflow-wrap:anywhere}.council-document-count{color:#667085;font-size:13px}.council-search-count{color:#157461;font-weight:600}.council-toggle-label{color:#157461;font-size:13px;font-weight:700}.council-label-open,.council-meeting[open] .council-label-closed{display:none}.council-meeting[open] .council-label-open{display:inline}.council-meeting-body{padding:18px;border-top:1px solid #e2e8f0}@media(max-width:600px){.council-meeting-summary{flex-wrap:wrap;gap:10px;padding:14px}.council-meeting-title{flex-basis:calc(100% - 40px)}.council-document-count{margin-left:30px;flex:1}.council-meeting-body{padding:12px}}.project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-form-grid .full{grid-column:1 / -1}.project-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:0}.project-info:empty{display:none}.project-info dt{color:#667085;font-size:12px}.project-info dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}@media(max-width:600px){.project-form-grid{grid-template-columns:1fr}}.assigned-password-input{display:flex;gap:6px;align-items:center}.assigned-password-input input{min-width:0;flex:1}.user-password-cell{display:grid;gap:8px;min-width:220px;max-width:320px;white-space:normal}.user-password-cell small{color:#667085;font-size:12px}.user-password-cell code{overflow-wrap:anywhere}.asset-record-section{border-top:1px solid #e2e8f0;padding-top:20px}.asset-record-section h4{margin:0}.asset-record{display:grid;gap:16px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.asset-record dd{white-space:pre-wrap}.council-search>select{width:auto;min-width:180px;flex:1}
