:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#edf3fa;color:#071638;--ink: #071638;--muted: #66728a;--line: #cfdcec;--line-strong: #b8c9e3;--panel: #f8fbff;--panel-soft: #eef4fb;--surface-hover: #eaf2fd;--active-bg: #e3edfb;--green: #145dff;--green-strong: #08357f;--gold: #7c4dff;--red: #b93847;--blue: #0ea5e9;--shadow: 0 18px 44px rgba(8, 35, 88, .12);--shadow-soft: 0 10px 28px rgba(8, 35, 88, .08);--focus-ring: 0 0 0 3px rgba(20, 93, 255, .14)}*{box-sizing:border-box}body{background:linear-gradient(180deg,#eef4fb,#e8f0f9 46%,#edf3fa);margin:0;min-width:320px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;max-width:100%}button{cursor:pointer}button,a,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}a{color:inherit;text-decoration:none}[class*=grid]>*,[class*=row]>*,[class*=actions]>*{min-width:0}.loading-screen,.login-screen{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:24px}.login-screen{background:linear-gradient(180deg,#eef4fb,#e7eff8)}.login-panel{background:#f8fbfffa;border:1px solid rgba(196,211,233,.95);border-radius:8px;box-shadow:var(--shadow);max-width:520px;padding:34px;width:100%}.brand-lockup{display:block;margin-bottom:30px}.brand-lockup h1,.module-header h1,.panel-header h2,.contract-detail-head h2{letter-spacing:0;margin:0}.brand-lockup p,.module-header p,.contract-detail-head p{color:var(--muted);line-height:1.45;margin:6px 0 0}.brand-logo{display:block;height:auto;max-width:100%}.version-badge{background:var(--green);border-radius:999px;color:#fff;display:inline-flex;font-size:13px;font-weight:900;margin-top:18px;padding:8px 16px}.login-legal-links{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;text-align:center}.login-legal-links a{color:var(--green);font-size:13px;font-weight:800}.legal-copy{display:grid;gap:12px;line-height:1.6;max-width:920px}.legal-copy p{margin:0}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:#f4f8fdf5;border-right:1px solid var(--line);box-shadow:8px 0 32px #0823580f;color:var(--ink);display:flex;flex-direction:column;padding:20px;position:sticky;top:0;min-height:100vh}.sidebar-brand{align-items:stretch;background:linear-gradient(180deg,#fbfdff,#f1f6fd);border:1px solid #cfdcec;border-radius:12px;box-shadow:0 16px 34px #08235814;display:flex;flex-direction:column;gap:8px;justify-content:flex-start;margin-bottom:26px;overflow:hidden;padding:9px 10px 12px}.sidebar-logo-frame{align-items:flex-start;display:flex;height:66px;justify-content:center;overflow:hidden}.sidebar-logo{background:transparent;border-radius:0;display:block;height:auto;max-width:none;padding:0;transform:scale(1.1);transform-origin:top center;width:100%}.sidebar-logo-tagline{align-self:center;color:#415579;font-size:11.5px;font-weight:650;letter-spacing:.01em;line-height:1.35;max-width:212px;text-align:center;text-transform:none;text-wrap:balance}.sidebar-brand small{align-self:flex-end;background:var(--active-bg);border-radius:999px;color:var(--green-strong);font-size:12px;font-weight:900;padding:7px 11px;white-space:nowrap}.sidebar-nav{display:grid;gap:6px}.sidebar-nav a,.icon-text-button,.tenant-chip,.platform-admin-link{align-items:center;border-radius:8px;display:flex;gap:10px}.sidebar-nav a{border:1px solid transparent;color:var(--muted);font-weight:800;min-height:44px;padding:11px 12px}.sidebar-nav a.active,.sidebar-nav a:hover{background:var(--active-bg);border-color:#cfe0ff;color:var(--green-strong)}.sidebar-footer{display:grid;gap:8px;margin-top:auto}.tenant-chip{background:var(--panel-soft);border:1px solid var(--line);color:var(--green-strong);font-size:13px;font-weight:800;padding:10px}.platform-admin-link{background:#f4f8fd;border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:800;justify-content:center;padding:10px}.platform-admin-link.active,.platform-admin-link:hover{background:var(--active-bg);border-color:#cfe0ff;color:var(--green-strong)}.icon-text-button{background:var(--green-strong);border:1px solid var(--green-strong);color:#fff;justify-content:center;font-weight:900;min-height:42px;padding:10px}.icon-text-button:hover{background:var(--green);border-color:var(--green)}.work-surface{background:transparent;min-width:0}.topbar{align-items:center;background:#eef4fbe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;min-height:64px;padding:0 32px;position:sticky;top:0;z-index:5}.topbar div{display:grid;gap:2px;text-align:right}.topbar span{color:var(--muted);font-size:12px}.topbar strong{color:var(--green-strong);font-size:13px;letter-spacing:.02em}.page-stack{display:grid;gap:20px;padding:30px}.module-header,.panel-header,.contract-detail-head,.action-row{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px}.module-header>*,.panel-header>*,.contract-detail-head>*,.action-row>*{min-width:0}.module-header{background:transparent}.module-header h1{font-size:clamp(26px,3vw,36px);line-height:1.05}.eyebrow{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.panel{background:linear-gradient(180deg,var(--panel) 0%,#f5f8fd 100%);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);min-width:0;padding:20px}.panel-header{margin-bottom:16px}.panel-header h2{align-items:center;display:flex;font-size:17px;gap:8px;line-height:1.2}.panel-header span,.muted{color:var(--muted);font-size:13px}.form-field{display:grid;gap:7px;min-width:0}.form-field span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.02em}.form-field input,.form-field select,.form-field textarea,.search-control,.file-drop{background:#fbfdff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:46px;min-width:0;outline:none;width:100%}.form-field input:hover,.form-field select:hover,.form-field textarea:hover,.search-control:hover,.file-drop:hover{border-color:var(--line-strong)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.search-control:focus-within,.file-drop:focus-within{border-color:var(--green);box-shadow:var(--focus-ring)}.form-field input,.form-field select{padding:0 13px}.form-field textarea{line-height:1.5;min-height:92px;padding:12px 13px;resize:vertical}.money-input-with-currency{align-items:center;background:#fbfdff;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:46px;min-width:0;overflow:hidden;width:100%}.money-input-with-currency:hover{border-color:var(--line-strong)}.money-input-with-currency:focus-within{border-color:var(--green);box-shadow:var(--focus-ring)}.form-field .money-input-with-currency input{background:transparent;border:0;min-height:44px;padding:0 0 0 13px}.form-field .money-input-with-currency input:focus{box-shadow:none}.money-input-with-currency span{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.02em;padding:0 13px;white-space:nowrap}.password-input{align-items:center;background:#fbfdff;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr) 40px;min-height:46px}.password-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #1663ff1a}.form-field .password-input input{background:transparent;border:0;min-height:44px;padding:0 0 0 13px;width:100%}.password-input button{align-items:center;align-self:stretch;background:transparent;border:0;color:var(--muted);display:inline-flex;justify-content:center;min-width:40px;padding:0}.password-input button:hover,.password-input button:focus-visible{color:var(--green-strong)}.login-form,.admin-form,.review-text-form{display:grid;gap:14px}.login-title{font-size:22px;line-height:1.2;margin:0 0 2px}.login-form-actions{display:flex;justify-content:center;margin-top:12px}.login-text-link{color:var(--green);font-size:13px;font-weight:800}.login-text-link:hover,.login-text-link:focus-visible{color:var(--green-strong)}.primary-button,.secondary-button,.danger-button{align-items:center;border:0;border-radius:8px;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;min-width:0;padding:0 16px;text-align:center;white-space:normal}.primary-button{background:var(--green);box-shadow:0 10px 22px #145dff2e;color:#fff}.primary-button:hover{background:var(--green-strong);transform:translateY(-1px)}.secondary-button{background:var(--active-bg);border:1px solid #c8d8f2;color:var(--green-strong)}.secondary-button:hover{background:#d8e6f8}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.82}.progress-ring{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex:0 0 auto;height:32px;justify-content:center;position:relative;width:32px}.progress-ring:before{background:var(--blue);border-radius:50%;content:"";top:4px;right:4px;bottom:4px;left:4px;position:absolute}.progress-ring span{color:#fff;font-size:8px;font-weight:900;line-height:1;position:relative}.danger-button{background:#fff0f1;border:1px solid #ffd2d7;color:var(--red)}.message-banner{border-radius:8px;font-weight:700;padding:13px 14px}.message-error{background:#fff0f1;border:1px solid #ffd2d7;color:var(--red)}.message-success{background:#ecfdf5;border:1px solid #c9f0db;color:var(--green-strong)}.tabs-bar{background:linear-gradient(180deg,var(--panel) 0%,#f4f8fd 100%);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:flex;gap:6px;overflow-x:auto;padding:6px}.tabs-bar button{background:transparent;border:0;border-radius:7px;color:var(--muted);flex:0 0 auto;font-weight:800;min-height:38px;padding:0 14px}.tabs-bar button.is-active{background:var(--active-bg);color:var(--green-strong)}.contracts-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(280px,360px)}.contracts-grid>*,.contracts-tab-panel>*,.contract-form>*,.contract-update-form>*,.rent-update-card-grid>*,.summary-party-table [role=row]>*,.summary-next-dates>*{min-width:0}.contracts-grid-readonly{grid-template-columns:minmax(240px,360px) minmax(0,1fr)}.contract-list-panel,.side-column{position:sticky;top:88px}.side-column{display:grid;gap:16px;min-width:0}.contracts-header-actions{flex-wrap:wrap;justify-content:flex-end}.contracts-tabs-bar{width:100%}.contracts-tabs-bar .contracts-repository-tab{flex:0 0 min(220px,42vw)}.contracts-tabs-bar .contracts-active-tab{flex:1 1 320px}.contracts-tab-panel{display:grid;min-width:0}.contracts-repository-view{max-width:460px;width:100%}.contracts-repository-view .contract-list-panel{position:static}.contracts-tab-panel .contract-detail-panel{width:100%}.contract-detail-stack{display:grid;gap:18px}.contract-detail-card{width:100%}.contract-detail-actions{flex-wrap:wrap;justify-content:flex-start}.search-control{align-items:center;display:flex;gap:8px;padding:0 10px}.search-control input{border:0;min-width:0;outline:0;width:100%}.contract-list{display:grid;gap:10px;margin-top:12px;max-height:calc(100vh - 230px);overflow:auto}.contract-list-item{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:5px;padding:13px;text-align:left}.contract-list-item:hover{background:var(--surface-hover);border-color:var(--line-strong)}.contract-list-item.is-active{background:var(--active-bg);border-color:#b9d2ff;box-shadow:inset 3px 0 0 var(--green)}.contract-list-item span,.record-number{color:var(--green);font-size:12px;font-weight:900}.contract-list-item small{color:var(--muted)}.contract-form{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.wide-field{grid-column:1 / -1}.contract-form .form-field,.contract-form .file-drop,.contract-form .message-banner,.contract-form .secondary-button,.contract-form .primary-button,.contract-form .form-field input,.contract-form .form-field select,.contract-form .form-field textarea{min-width:0;width:100%}.file-drop{align-items:center;cursor:pointer;display:flex;gap:10px;min-height:48px;padding:0 12px}.file-drop input{display:none}.file-drop span{min-width:0;overflow-wrap:anywhere}.modal-backdrop{align-items:start;background:#07163861;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;overflow:auto;padding:24px;position:fixed;z-index:20}.contract-upload-modal{max-width:960px;position:relative;width:min(100%,960px)}.contract-upload-modal .contract-form-panel{max-height:calc(100vh - 48px);overflow:auto}.contract-upload-modal .panel-header{padding-right:42px}.contract-upload-note{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:4px;margin-bottom:14px;padding:12px 14px}.contract-upload-note strong{font-size:14px}.contract-upload-note p{color:var(--muted);line-height:1.45;margin:0}.modal-close-button{align-items:center;background:var(--active-bg);border:0;border-radius:8px;color:var(--green-strong);display:inline-flex;height:36px;justify-content:center;padding:0;position:absolute;right:12px;top:12px;width:36px;z-index:1}.modal-close-button:hover,.modal-close-button:focus-visible{background:#dfeaff}.contract-confirm-modal{display:grid;gap:18px;margin-top:12vh;max-width:420px;width:min(100%,420px)}.contract-confirm-modal h2{font-size:20px;margin:6px 0}.contract-confirm-modal p{color:var(--muted);margin:0}.contract-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.rent-update-modal{display:grid;gap:16px;max-width:920px;position:relative;width:min(100%,920px)}.rent-update-header{align-items:start;display:flex;gap:16px;justify-content:space-between;padding-right:44px}.rent-update-header h2{font-size:24px;margin:4px 0 0}.rent-update-top-fields{display:grid;gap:12px}.rent-update-info-panel{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;padding:14px}.rent-update-info-heading{align-items:start;display:flex;gap:10px}.rent-update-info-heading h3{font-size:16px;margin:0 0 4px}.rent-update-info-heading p,.rent-update-card small{color:var(--muted);margin:0}.rent-update-card-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.rent-update-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;min-height:86px;min-width:0;padding:12px}.rent-update-card span{color:var(--muted);font-size:12px;font-weight:900}.rent-update-card strong{min-width:0;overflow-wrap:anywhere}.rent-update-card input,.rent-update-card select{background:transparent;border:0;color:var(--ink);font:inherit;font-weight:800;min-width:0;outline:0;padding:0;width:100%}.rent-update-rounding-card{grid-column:span 2}.rent-rounding-options{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.rent-rounding-options button{background:var(--active-bg);border:1px solid transparent;border-radius:8px;color:var(--green-strong);font-size:12px;font-weight:900;min-height:36px;padding:8px}.rent-rounding-options button.is-active{background:var(--green);color:#fff}.rent-update-actions{display:flex;flex-wrap:wrap;gap:12px}.rent-update-pdf-button{background:#a87900}.meta-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0}.meta-grid div,.compact-row{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px}.compact-row:hover{border-color:var(--line-strong)}.meta-grid span{color:var(--muted);display:block;font-size:12px;margin-bottom:4px}.contract-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.contract-summary-section{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;margin-top:12px;min-width:0;padding:12px}.contract-summary-grid .contract-summary-section{margin-top:0}.contract-summary-section h4{font-size:15px;margin:0}.summary-definition-list{display:grid;gap:8px;margin:0}.summary-definition-list div{display:grid;gap:2px;min-width:0}.summary-definition-list dt,.summary-party-table [role=columnheader],.summary-next-dates span{color:var(--muted);font-size:12px;font-weight:900}.summary-definition-list dd{font-weight:800;margin:0;min-width:0;overflow-wrap:anywhere}.summary-party-table{display:grid;gap:6px}.summary-party-table [role=row]{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(160px,1.2fr) minmax(130px,.8fr) minmax(160px,1fr)}.summary-party-table [role=row]:not(:first-child){background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 10px}.summary-party-table strong,.summary-party-table span{min-width:0;overflow-wrap:anywhere}.summary-timeline{display:grid;gap:8px}.summary-timeline article{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:124px minmax(0,1fr);padding:10px}.summary-timeline time{color:var(--green-strong);font-size:13px;font-weight:900}.summary-timeline div{display:grid;gap:3px;min-width:0}.summary-timeline span,.summary-next-dates small{color:var(--muted);font-size:12px;font-weight:800}.summary-timeline p,.summary-next-dates p{color:var(--muted);margin:0}.summary-next-dates{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-next-dates div{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:4px;min-width:0;padding:10px}.summary-next-dates strong{min-width:0;overflow-wrap:anywhere}.status-pill{border-radius:999px;font-size:12px;font-weight:900;padding:6px 10px}.status-live{background:#eaf2ff;color:var(--green-strong)}.status-muted{background:#f1f5fb;color:var(--muted)}.contract-notes{color:var(--muted)}.contract-card-title{border-top:1px solid var(--line);font-size:18px;margin:14px 0 0;padding-top:14px}.contract-section-head{display:flex;justify-content:space-between}.contract-section-head h3{margin:0 0 4px}.contract-section-head p{color:var(--muted);margin:0}.contract-update-form{align-items:end;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;padding:12px}.contract-update-form>*{min-width:0}.contract-update-form .file-drop,.contract-update-form .form-field,.contract-update-form .primary-button,.contract-update-form .form-field input,.contract-update-form .form-field select{min-width:0;width:100%}.contract-update-form .file-drop{overflow:hidden}.contract-update-form .file-drop span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-update-form .primary-button{grid-column:1 / -1;min-height:50px;white-space:normal}.contract-update-notes{min-width:0}.renewal-document-list{display:grid;gap:10px;margin-top:14px}.renewal-document-group{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;padding:10px}.renewal-document-title{align-items:center;display:flex;gap:12px;justify-content:space-between}.renewal-document-title span{color:var(--muted);font-size:13px;font-weight:800}.subsection{display:grid;gap:8px}.subsection h3{margin:0}.compact-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.milestone-compact-row{align-items:start}.milestone-compact-row>div{display:grid;gap:4px;min-width:0}.milestone-compact-row small{color:var(--muted);display:block}.automatic-alert-row{background:var(--active-bg)}.milestone-attend-button{flex:0 0 auto}.button-row{color:var(--ink);width:100%}.generated-document-row{gap:8px;padding:0}.generated-document-download{align-items:center;background:transparent;color:var(--ink);display:flex;flex:1 1 auto;gap:12px;justify-content:space-between;min-height:52px;min-width:0;padding:10px 12px;text-align:left}.generated-document-download strong,.generated-document-download span{min-width:0;overflow-wrap:anywhere}.generated-document-delete{align-items:center;align-self:stretch;background:#fff0f1;border-left:1px solid #ffd2d7;border-radius:0 8px 8px 0;color:var(--red);display:inline-flex;flex:0 0 52px;justify-content:center}.generated-document-delete:hover,.generated-document-delete:focus-visible{background:#ffe4e8}.document-history-list{display:grid;gap:10px}.document-history-row{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.document-history-main{display:grid;gap:4px;min-width:0}.document-history-main strong,.document-history-main span,.document-history-main small,.document-history-main p{min-width:0;overflow-wrap:anywhere}.document-history-main span,.document-history-main small,.document-history-main p{color:var(--muted)}.document-history-main p{margin:2px 0 0}.document-history-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.document-history-actions .small-action-button{min-height:38px;white-space:nowrap}.document-history-delete{border:1px solid #ffd2d7;border-radius:8px;flex:0 0 42px;min-height:38px}.metadata-edit-modal{max-width:760px;width:min(760px,calc(100vw - 32px))}.metadata-edit-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.metadata-notes-field{grid-column:1 / -1}.metadata-notes-field textarea{min-height:110px}.empty-state{align-items:center;color:var(--muted);display:flex;gap:10px;justify-content:center;min-height:180px}.clients-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.clients-grid>*{min-width:0}.clients-side-column{display:grid;gap:18px;position:sticky;top:88px}.client-summary{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:4px;padding:16px}.client-summary span,.client-row small{color:var(--muted);font-size:13px}.client-summary strong{color:var(--green-strong);font-size:34px;line-height:1}.clients-search{margin-bottom:14px}.client-list{display:grid;gap:10px;max-height:calc(100vh - 260px);overflow:auto}.client-row>div{display:grid;gap:3px;min-width:0}.client-row strong,.client-row span{overflow-wrap:anywhere}.client-row span{color:var(--green);font-size:12px;font-weight:900}.indicators-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.indicators-grid>*{min-width:0}.indicators-side-column{display:grid;gap:18px;position:sticky;top:88px}.indicator-summary{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:4px;padding:16px}.indicator-summary span,.indicator-summary small{color:var(--muted);font-size:13px}.indicator-summary strong{color:var(--green-strong);font-size:34px;line-height:1}.indicator-list{display:grid;gap:18px;max-height:calc(100vh - 230px);overflow:auto}.indicator-year-group{display:grid;gap:8px}.indicator-year-group h3{color:var(--muted);font-size:13px;margin:0}.indicator-records{display:grid;gap:8px}.indicator-row span{font-variant-numeric:tabular-nums}.milestones-panel{display:grid;gap:16px}.milestones-toolbar{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) auto}.milestones-toolbar>*,.milestone-row>*,.milestone-compact-row>*{min-width:0}.milestones-toolbar>span{color:var(--muted);font-size:13px;font-weight:900;white-space:nowrap}.milestones-search{margin:0;width:100%}.milestones-list{display:grid;gap:10px}.milestone-row{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;grid-template-columns:132px minmax(0,1fr) auto;min-width:0;padding:14px}.milestone-row:hover{background:var(--surface-hover);border-color:var(--line-strong)}.milestone-row time{display:grid;gap:6px}.milestone-row time strong{color:var(--green-strong);font-size:14px}.milestone-date-chip{border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;justify-content:center;padding:5px 8px;width:fit-content}.milestone-date-chip.is-overdue{background:#fff0f1;color:var(--red)}.milestone-date-chip.is-today{background:#fff7df;color:#7a5200}.milestone-date-chip.is-upcoming{background:#eaf2ff;color:var(--green-strong)}.milestone-row-main{display:grid;gap:5px;min-width:0}.milestone-row-main>strong{min-width:0;overflow-wrap:anywhere}.milestone-row-main p{color:var(--muted);margin:0;overflow-wrap:anywhere}.milestone-row-meta{display:flex;flex-wrap:wrap;gap:6px}.milestone-row-meta span{background:#f4f8fd;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:800;max-width:100%;overflow-wrap:anywhere;padding:4px 8px}.milestone-row-action{align-self:center;min-width:126px;white-space:nowrap}.milestones-empty{align-items:center;color:var(--muted);display:flex;gap:10px;justify-content:center;min-height:160px}.milestone-compact-row{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto auto}.milestone-compact-row>div{display:grid;gap:3px;min-width:0}.milestone-compact-row strong,.milestone-compact-row small{min-width:0;overflow-wrap:anywhere}.milestone-compact-row small{color:var(--muted)}.milestone-attend-button{min-width:116px;white-space:nowrap}.review-source-grid{align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.review-source-grid>*{min-width:0}.review-source-grid>.file-drop{justify-self:stretch;width:100%}.review-source-grid>.secondary-button{min-height:58px;min-width:0;width:100%}.review-text-form{margin-top:12px}.review-text-form textarea{min-height:120px}.review-workspace{display:grid;gap:10px;overflow-x:auto}.review-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(220px,1fr));min-width:920px}.review-start-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 340px}.review-start-grid>*,.admin-grid>*,.comparison-start-grid>*,.comparison-upload-grid>*,.generation-grid>*,.generation-field-grid>*,.generation-final-grid>*,.generation-project-grid>*,.generation-selector-grid>*,.generation-source-item>*{min-width:0}.review-grid-head{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.review-grid-head div,.review-cell{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.review-cell{box-shadow:0 8px 20px #0823580a}.review-cell>span{color:var(--green);display:block;font-size:12px;font-weight:900;margin-bottom:8px}.review-cell p{line-height:1.5;margin:0;white-space:pre-wrap}.review-cell textarea,.final-highlight-editor{border:0;min-height:100%;outline:0;resize:vertical;width:100%}.final-highlight-editor{border-radius:6px;cursor:text;line-height:1.5;min-height:130px;padding:2px;white-space:pre-wrap}.final-highlight-editor:focus{box-shadow:0 0 0 2px #1663ff2e}.new-text-highlight{background:#fff4bf;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px}.ri-cell{border-left:4px solid var(--gold)}.severity-high .ri-cell{border-left-color:var(--red)}.severity-medium .ri-cell{border-left-color:var(--blue)}.admin-grid{align-items:start;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(280px,1fr))}.admin-list-panel{grid-column:1 / -1}.admin-record-list{display:grid;gap:8px}.admin-alert{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto}.admin-alert>div{display:grid;gap:3px;min-width:0}.admin-alert span{color:var(--muted);font-size:13px}.compact-row.is-active{background:var(--active-bg);border-color:#b9d2ff;box-shadow:inset 3px 0 0 var(--green)}.admin-user-row>div:first-child{display:grid;gap:4px;min-width:0}.admin-user-row>div:first-child span{color:var(--muted);font-size:12px}.admin-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.small-action-button{font-size:12px;min-height:32px;padding:0 10px}.saved-review-list{display:grid;gap:10px;max-height:320px;overflow:auto}.saved-review-item{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:5px;padding:12px;text-align:left;width:100%}.saved-review-item.is-active{background:var(--active-bg);border-color:#b9d2ff;box-shadow:inset 3px 0 0 var(--green)}.saved-review-item span,.saved-review-item small{color:var(--muted);font-size:12px}.saved-review-item small{align-items:center;display:flex;gap:5px}.review-title-editor{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:6px;padding:12px}.review-title-editor span{color:var(--muted);font-size:12px;font-weight:800}.review-title-editor input{border:0;color:var(--ink);font-size:22px;font-weight:900;outline:0}.comparison-start-form{display:grid;gap:14px}.comparison-start-grid,.comparison-upload-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-file-drop{align-content:center;min-height:86px}.comparison-base-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.comparison-base-row>span{color:var(--muted);font-size:12px;font-weight:900}.comparison-segmented-control{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:4px;padding:4px}.comparison-segmented-control button{background:transparent;border:0;border-radius:6px;color:var(--muted);font-size:13px;font-weight:900;min-height:32px;padding:0 10px;white-space:nowrap}.comparison-segmented-control button.is-active{background:var(--green);color:#fff}.comparison-segmented-control.compact button{font-size:12px;min-height:28px;padding:0 8px}.comparison-export-actions{align-items:end;flex-wrap:wrap}.comparison-export-mode{min-width:190px}.comparison-party-banner{border-left:4px solid var(--blue);box-shadow:var(--shadow-soft);display:grid;gap:4px}.comparison-party-banner strong{font-size:14px}.comparison-party-banner span{color:var(--muted);line-height:1.4}.comparison-party-banner.detection-not_identified{border-left-color:var(--red)}.comparison-party-banner.detection-ambiguous{border-left-color:var(--gold)}.comparison-workspace{display:grid;gap:8px;overflow-x:auto}.comparison-grid{display:grid;gap:10px;grid-template-columns:minmax(260px,1fr) minmax(320px,1.16fr) minmax(260px,1fr) minmax(300px,1.08fr);min-width:1240px}.comparison-grid-head{color:var(--muted);font-size:12px;font-weight:900;position:sticky;text-transform:uppercase;top:0;z-index:2}.comparison-grid-head>div{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;min-height:54px;padding:10px 12px}.comparison-final-head{gap:10px}.comparison-row .review-cell{max-height:620px;overflow:auto}.comparison-contract-cell p,.comparison-empty-text{font-size:13px}.comparison-text-highlight{background:#fff3a6;border-radius:3px;color:inherit;padding:0 2px}.comparison-empty-text{color:var(--muted)}.comparison-row-meta{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.comparison-row-meta>span{margin:0}.comparison-row-meta strong,.comparison-status{background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:900;padding:4px 8px;white-space:nowrap}.comparison-note{color:var(--muted);font-size:12px}.comparison-refine-field,.comparison-proposal-field{margin-top:10px}.comparison-refine-field textarea{min-height:68px}.comparison-proposal-field textarea{min-height:130px}.comparison-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.comparison-final-cell .final-highlight-editor{min-height:260px}.confidence-low .ri-cell{border-left-color:var(--red)}.confidence-medium .ri-cell{border-left-color:var(--blue)}.confidence-high .ri-cell{border-left-color:var(--green)}.status-applied{background:#ecfdf5;border-color:#b8e1ca;color:#16633b}.status-manually_edited{background:#fff4d6;border-color:#edd286;color:#7a5600}.status-proposed{background:var(--active-bg);border-color:#b9d2ff;color:var(--green-strong)}.generation-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(360px,560px) minmax(0,1fr)}.generation-data-grid{align-items:stretch}.generation-form{display:grid;gap:16px}.generation-panel-header{align-items:flex-start}.generation-downloads,.generation-header-actions,.generation-final-actions{flex-wrap:wrap;justify-content:flex-end}.generation-type-panel{display:grid;gap:12px}.generation-type-panel .panel-header{align-items:flex-start}.generation-type-select{max-width:620px}.generation-type-select select{min-height:48px}.generation-construction-panel{display:grid;gap:12px;min-height:220px}.generation-construction-panel p{color:var(--muted);font-weight:800;margin:0}.generation-project-panel{display:grid;gap:14px}.generation-project-grid{align-items:end;column-gap:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.generation-project-grid>.form-field,.generation-quick-client{min-width:0}.generation-project-grid .form-field input,.generation-project-grid .form-field select{box-sizing:border-box;max-width:100%;width:100%}.generation-quick-client{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(180px,1fr) max-content}.generation-quick-client .secondary-button{white-space:nowrap}.generation-project-actions{display:flex;justify-content:flex-end}.generation-tabs{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:flex;gap:6px;overflow-x:auto;padding:6px}.generation-tabs button{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--muted);cursor:pointer;display:flex;font-size:14px;font-weight:900;min-height:40px;padding:0 14px;white-space:nowrap}.generation-tabs button.is-active{background:var(--green);color:#fff}.generation-selector-grid,.generation-field-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.generation-form-section{border-top:1px solid var(--line);display:grid;gap:12px;padding-top:16px}.generation-form-section h3{font-size:14px;margin:0}.generation-form-actions{border-top:1px solid var(--line);display:flex;justify-content:flex-end;padding-top:14px}.missing-fields-summary,.pending-template{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;gap:10px;line-height:1.35;padding:13px}.generation-preview textarea{border:1px solid var(--line);border-radius:8px;color:var(--ink);flex:1;min-height:430px;padding:14px;resize:none;width:100%}.generation-data-grid .generation-preview{display:flex;flex-direction:column;height:100%;min-height:100%}.generation-context-textarea{min-height:150px}.generation-file-drop{border-style:dashed;min-height:82px}.generation-source-list{display:grid;gap:12px}.generation-source-item{align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto;padding:12px}.generation-source-item>div:first-child{display:grid;gap:3px;min-width:0}.generation-source-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generation-source-item span{color:var(--muted);font-size:12px}.generation-source-item textarea{min-height:64px;resize:vertical}.generation-analysis-panel{display:grid;gap:12px}.generation-analysis-copy{display:grid;gap:10px;line-height:1.5}.generation-analysis-copy h3{font-size:13px;margin:8px 0 0}.generation-analysis-copy p{margin:0;white-space:pre-wrap}.generation-final-touches{display:grid;gap:14px}.generation-final-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(220px,1fr))}.generation-final-grid textarea{font-family:inherit;line-height:1.45;resize:vertical}.generation-final-column{align-content:start;display:grid;gap:9px;min-width:0}.generation-final-output{align-content:start;align-self:start;gap:9px;min-width:0}.generation-final-output span{font-weight:900}.generation-column-label{color:var(--muted);font-size:12px;font-weight:900}.generation-contract-blocks{border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;max-height:520px;overflow:auto;padding:12px}.generation-contract-block{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:5px;line-height:1.35;padding:12px;text-align:left;-webkit-user-select:text;user-select:text;width:100%}.generation-selection-candidate{background:var(--active-bg);border:1px solid #9fc0ff;border-color:#9fc0ff;border-radius:8px;box-shadow:0 0 0 2px #1663ff1f;display:grid;gap:6px;padding:10px;position:sticky;top:0;z-index:1}.generation-block-header{align-items:center;display:flex;gap:8px;justify-content:space-between;-webkit-user-select:none;user-select:none}.generation-contract-block strong,.generation-selection-candidate strong{font-size:12px}.generation-contract-block p,.generation-selection-candidate p{color:var(--muted);font-size:13px;line-height:1.4;margin:0;white-space:pre-wrap}.generation-adjustment-panel{align-content:start}.generation-selected-fragment,.generation-adjustment-item,.generation-adjustment-notes{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;padding:10px}.generation-selected-fragment{max-height:150px;overflow:auto}.generation-draft-fragment{display:grid;gap:5px}.generation-draft-fragment+.generation-draft-fragment{border-top:1px solid var(--line);padding-top:8px}.generation-selected-fragment p,.generation-adjustment-item p{line-height:1.4;margin:0;white-space:pre-wrap}.generation-adjustment-textarea{min-height:118px}.generation-adjustment-list{display:grid;gap:10px;max-height:300px;overflow:auto;padding-right:2px}.generation-adjustment-item small{color:var(--muted);line-height:1.35}.generation-adjustment-fragments{display:grid;gap:4px}.generation-adjustment-result{display:grid;gap:5px}.generation-adjustment-result span,.generation-adjustment-notes span,.generation-adjustment-error{color:var(--muted);font-size:12px}.generation-adjustment-result textarea{min-height:96px}.generation-adjustment-actions{display:flex;flex-wrap:wrap;gap:8px}.generation-adjustment-error{color:var(--red);font-weight:800}.generation-final-textarea{min-height:640px}.generation-final-output textarea.generation-final-textarea{height:clamp(640px,72vh,820px);min-height:640px;resize:none}.generation-notes{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:grid;gap:6px;padding:12px}.generation-notes strong{color:var(--ink)}.generation-final-version{align-items:center;display:grid;gap:18px;justify-items:center;overflow-x:auto}.generation-final-version .panel-header{justify-self:stretch;width:100%}.word-pages{display:grid;gap:28px;justify-items:center;min-width:816px;padding:12px 0 24px;width:100%}.word-page{background:#fbfdff;border:1px solid #dfe5f4;box-shadow:0 20px 48px #091f521f;box-sizing:border-box;color:#111;display:grid;font-family:Times New Roman,Times,serif;font-size:12pt;grid-template-rows:minmax(0,1fr) auto;height:1056px;line-height:1.5;padding:86px 76px 46px;page-break-after:always;width:816px}.word-page-content{min-height:0;overflow:hidden}.word-page p{margin:0 0 10px;text-align:justify;white-space:pre-wrap}.word-page strong{font-weight:700}.word-page p.word-rubric{line-height:1;margin-bottom:12px}.word-page p.word-section-heading{margin:8px 0 12px;text-align:left}.word-page p.word-clause-paragraph{margin-bottom:10px}.word-page-blank{min-height:16px}.word-signature-panel{display:grid;gap:46px 62px;grid-template-columns:repeat(2,minmax(0,1fr));line-height:1;margin:38px auto 8px;page-break-inside:avoid;width:100%}.word-signature-cell{align-content:end;display:grid;min-height:118px;text-align:center}.word-signature-cell:nth-child(3):last-child{grid-column:1 / -1;justify-self:center;width:48%}.word-signature-role{font-weight:400;margin-bottom:58px}.word-signature-line{border-top:1px solid #111;height:1px;margin:0 auto 8px;width:100%}.word-signature-name{font-weight:700;min-height:18px}.word-signature-name.is-missing{color:transparent}.word-page-footer{color:#444;font-family:Times New Roman,Times,serif;font-size:10pt;padding-top:12px;text-align:center}@media(max-width:1180px){.contracts-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.review-start-grid{grid-template-columns:1fr}.review-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-source-grid>.secondary-button,.review-source-grid>.file-drop{width:100%}.contract-update-form{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-update-form .primary-button{grid-column:1 / -1}.side-column{grid-column:1 / -1;position:static}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.contracts-grid,.clients-grid,.indicators-grid,.generation-grid,.generation-final-grid,.generation-field-grid,.generation-project-grid,.generation-selector-grid,.comparison-start-grid,.comparison-upload-grid,.admin-grid,.contract-summary-grid,.meta-grid,.review-start-grid,.review-source-grid{grid-template-columns:1fr}.contracts-header-actions,.contracts-tabs-bar,.generation-header-actions,.generation-final-actions,.generation-tabs{justify-content:flex-start}.generation-source-item,.generation-quick-client{grid-template-columns:1fr}.review-source-grid>.secondary-button,.review-source-grid>.file-drop{justify-self:stretch}.word-page{height:1056px;min-height:1056px;padding:86px 76px 46px;width:816px}.clients-side-column,.indicators-side-column,.contract-list-panel{position:static}.admin-alert{align-items:start;grid-template-columns:1fr}.rent-update-card-grid,.contract-update-form{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-party-table [role=row],.document-history-row,.milestone-row,.summary-timeline article,.summary-next-dates{grid-template-columns:1fr}.document-history-actions{justify-content:flex-start}.milestone-row-action{justify-self:start}.rent-update-rounding-card{grid-column:1 / -1}}@media(max-width:520px){.modal-backdrop{padding:12px}.contract-form,.contract-update-form,.metadata-edit-grid,.rent-update-card-grid,.rent-rounding-options,.summary-next-dates{grid-template-columns:1fr}.rent-update-header,.rent-update-actions{align-items:stretch;flex-direction:column}.milestones-toolbar,.milestone-compact-row{grid-template-columns:1fr}.milestone-attend-button{justify-self:start}}
