.contract-page{--ct-bg:#f5f5f7;--ct-surface-low:#fff;--ct-surface:#fafafa;--ct-surface-high:#f0f0f3;--ct-surface-highest:#e5e5ea;--ct-on-surface:#1a1a2e;--ct-on-sv:#6b6b80;--ct-outline:#a0a0b0;--ct-outline-v:#e5e5ea;--ct-primary:#4f46e5;--ct-inverse-primary:#6366f1;--ct-on-primary:#fff;--ct-secondary:#16a34a;--ct-secondary-container:#dcfce7;--ct-on-secondary:#fff;--ct-on-secondary-container:#14532d;--ct-tertiary:#d97706;--ct-on-tertiary:#fff;--ct-error:#dc2626;--ct-on-error:#fff;--ct-font-serif:"Instrument Serif",serif;--ct-font-mono:"Outfit","Noto Sans KR",sans-serif;color:var(--ct-on-surface);background:var(--ct-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex-direction:column;width:100%;max-width:1080px;min-height:100%;margin-left:auto;margin-right:auto;padding:16px 32px 64px;display:flex}.dark .contract-page{--ct-bg:#0b1326;--ct-surface-low:#131b2e;--ct-surface:#171f33;--ct-surface-high:#222a3d;--ct-surface-highest:#2d3449;--ct-on-surface:#dae2fd;--ct-on-sv:#c6c6cd;--ct-outline:#909097;--ct-outline-v:#45464d;--ct-primary:#c0c1ff;--ct-inverse-primary:#494bd6;--ct-on-primary:#1000a9;--ct-secondary:#4edea3;--ct-secondary-container:#00a572;--ct-on-secondary:#003824;--ct-on-secondary-container:#00311f;--ct-tertiary:#ddc397;--ct-on-tertiary:#3d2e0e;--ct-error:#ffb4ab;--ct-on-error:#690005;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.contract-page,.contract-page *{box-sizing:border-box}.contract-page .material-symbols-outlined.icon-sm{font-size:16px!important}.contract-page .material-symbols-outlined.icon-xs{font-size:14px!important}.contract-page .material-symbols-outlined.fill{font-variation-settings:"FILL" 1}.contract-page .panel-fade{animation:.4s ctFadeUp}.contract-page .wh-tl-card,.contract-page .wh-detail{box-shadow:0 2px 7px #0000003d,0 1px 2px #00000024}.dark .contract-page .wh-tl-card,.dark .contract-page .wh-detail{box-shadow:0 2px 7px #000000a3,0 1px 2px #0000005c}.contract-page .wh-tl-card.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--wh-accent,var(--accent))18%,transparent),0 2px 7px #0000003d,0 1px 2px #00000024}.dark .contract-page .wh-tl-card.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--wh-accent,var(--accent))24%,transparent),0 2px 7px #000000a3,0 1px 2px #0000005c}.contract-page .card{box-shadow:0 2px 7px #0000003d,0 1px 2px #00000024}.dark .contract-page .card{box-shadow:0 2px 7px #000000a3,0 1px 2px #0000005c}@keyframes ctFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.contract-page .page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:10px;display:flex}.contract-page .page-head h1{letter-spacing:-.035em;color:var(--ct-on-surface);margin:0;font-size:30px;font-weight:800;line-height:1.1}.contract-page .page-head h1 em{font-family:var(--ct-font-serif);color:var(--ct-secondary);letter-spacing:-.01em;font-style:italic;font-weight:400}.contract-page .page-head p{color:var(--ct-on-sv);margin-top:6px;font-size:13.5px}.contract-page .page-head-right{align-items:center;gap:8px;display:flex}.contract-page .btn{background:var(--ct-surface-high);color:var(--ct-on-surface);border:1px solid var(--ct-outline-v);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.contract-page .btn:hover{background:var(--ct-surface-highest);border-color:var(--ct-outline)}.contract-page .btn-primary{background:linear-gradient(135deg,var(--ct-primary),var(--ct-inverse-primary));color:var(--ct-on-primary);box-shadow:0 6px 20px color-mix(in srgb,var(--ct-inverse-primary)32%,transparent);border-color:#0000}.contract-page .btn-primary:hover{box-shadow:0 8px 26px color-mix(in srgb,var(--ct-inverse-primary)44%,transparent);transform:translateY(-1px)}.contract-page .btn-secondary{background:var(--ct-secondary-container);color:var(--ct-on-secondary-container);border-color:#0000}.contract-page .btn-secondary:hover{background:var(--ct-secondary);color:var(--ct-on-secondary)}.contract-page .card{background:var(--ct-surface-low);border:1px solid var(--ct-outline-v);border-radius:14px;padding:22px;transition:border-color .2s}.contract-page .card-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.contract-page .card-title{letter-spacing:-.02em;color:var(--ct-on-surface);font-size:16px;font-weight:700}.contract-page .card-title-serif{font-family:var(--ct-font-serif);letter-spacing:-.01em;color:var(--ct-on-surface);font-size:24px;font-style:italic;font-weight:400}.contract-page .card-desc{color:var(--ct-on-sv);opacity:.85;margin-top:3px;font-size:12.5px}.contract-page .chip{letter-spacing:-.01em;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.contract-page .chip-regular{background:color-mix(in srgb,var(--ct-primary)14%,transparent);color:var(--ct-primary)}.contract-page .chip-contract{background:color-mix(in srgb,var(--ct-tertiary)14%,transparent);color:var(--ct-tertiary)}.contract-page .chip-part{background:color-mix(in srgb,var(--ct-secondary)14%,transparent);color:var(--ct-secondary)}.contract-page .chip-short{background:color-mix(in srgb,var(--ct-error)12%,transparent);color:var(--ct-error)}.contract-page .chip-ok{background:color-mix(in srgb,var(--ct-secondary)18%,transparent);color:var(--ct-secondary)}.contract-page .chip-draft{background:var(--ct-surface-high);color:var(--ct-on-sv)}.contract-page .dist-legend-item{border-bottom:1px solid var(--ct-outline-v);justify-content:space-between;align-items:center;padding:9px 0;font-size:12.5px;display:flex}.contract-page .dist-legend-item:last-child{border-bottom:none}.contract-page .dist-legend-item .lab{color:var(--ct-on-surface);align-items:center;gap:8px;display:flex}.contract-page .dist-legend-item .sw{border-radius:3px;width:10px;height:10px}.contract-page .dist-legend-item .nums{align-items:center;gap:10px;display:flex}.contract-page .dist-legend-item .count{color:var(--ct-on-surface);font-weight:700}.contract-page .dist-legend-item .pct{font-family:var(--ct-font-mono);color:var(--ct-on-sv);text-align:right;min-width:42px;font-size:11px}.contract-page .table-card{padding:0;overflow:hidden}.contract-page .table-head-bar{border-bottom:1px solid var(--ct-outline-v);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 18px;display:flex}.contract-page .table-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.contract-page .table-search{background:var(--ct-surface);border:1px solid var(--ct-outline-v);border-radius:9px;align-items:center;gap:6px;min-width:260px;padding:8px 12px;transition:all .2s;display:flex}.contract-page .table-search:hover{border-color:var(--ct-outline)}.contract-page .table-search:focus-within{border-color:var(--ct-secondary);background:var(--ct-surface-high)}.contract-page .table-search input{color:var(--ct-on-surface);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.contract-page .table-search input::placeholder{color:var(--ct-on-sv);opacity:.6}.contract-page .table-search .material-symbols-outlined{color:var(--ct-on-sv);font-size:18px!important}.contract-page .filter-pills{background:var(--ct-surface);border-radius:9px;gap:2px;padding:3px;display:flex}.contract-page .pill{color:var(--ct-on-sv);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;position:relative}.contract-page .pill.active{background:var(--ct-surface-highest);color:var(--ct-on-surface)}.contract-page .pill:hover:not(.active){color:var(--ct-on-surface)}.contract-page .filter-pills:has(.pill-count){background:0 0;border-radius:0;flex-wrap:wrap;gap:4px;padding:0}.contract-page .pill:has(.pill-count){background:var(--ct-surface-high);color:var(--ct-on-sv);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.contract-page .pill:has(.pill-count):hover:not(.active){background:var(--ct-surface-highest);color:var(--ct-on-surface)}.contract-page .pill:has(.pill-count).active{background:color-mix(in srgb,var(--ct-primary)18%,transparent);color:var(--ct-primary);font-weight:700}.contract-page .pill-count{min-width:0;height:auto;color:inherit;box-shadow:none;letter-spacing:0;pointer-events:none;background:0 0;padding:0;font-family:inherit;font-size:12px;font-weight:700;line-height:1;position:static}.contract-page table{border-collapse:collapse;width:100%}.contract-page thead th{text-transform:uppercase;letter-spacing:.1em;color:var(--ct-on-sv);opacity:.7;text-align:left;background:var(--ct-surface);border-bottom:1px solid var(--ct-outline-v);white-space:nowrap;padding:14px 24px;font-size:11px;font-weight:600}.contract-page tbody td{border-bottom:1px solid var(--ct-outline-v);vertical-align:middle;color:var(--ct-on-surface);padding:16px 24px;font-size:13px}.contract-page tbody tr{transition:background .15s}.contract-page tbody tr:hover{background:var(--ct-surface);cursor:pointer}.contract-page tbody tr:last-child td{border-bottom:none}.contract-page tbody tr.alert-row{background:linear-gradient(90deg,color-mix(in srgb,var(--ct-error)10%,transparent),transparent 50%)}.contract-page tbody tr.warn-row{background:linear-gradient(90deg,color-mix(in srgb,var(--ct-tertiary)10%,transparent),transparent 50%)}.contract-page .emp-cell{align-items:center;gap:12px;display:flex}.contract-page .avatar{color:#fff;letter-spacing:-.02em;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid;position:relative}.contract-page .avatar.a1{background:linear-gradient(135deg,#4edea3,#00a572)}.contract-page .avatar.a2{color:var(--ct-on-primary);background:linear-gradient(135deg,#c0c1ff,#494bd6)}.contract-page .avatar.a3{background:linear-gradient(135deg,#ddc397,#8b6f3d)}.contract-page .avatar.a4{background:linear-gradient(135deg,#ffb4ab,#93000a)}.contract-page .avatar.a5{background:linear-gradient(135deg,#777bff,#0a0081)}.contract-page .avatar.a6{color:var(--ct-on-primary);background:linear-gradient(135deg,#4edea3,#c0c1ff)}.contract-page .avatar.a7{color:var(--ct-on-tertiary);background:linear-gradient(135deg,#fadfb2,#ddc397)}.contract-page .avatar.a8{color:var(--ct-on-secondary);background:linear-gradient(135deg,#6ffbbe,#4edea3)}.contract-page .avatar .status-dot{border:2px solid var(--ct-surface-low);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.contract-page .avatar .status-dot.online{background:var(--ct-secondary)}.contract-page .avatar .status-dot.offline{background:var(--ct-outline)}.contract-page .emp-info .name{color:var(--ct-on-surface);margin-bottom:2px;font-size:13.5px;font-weight:700}.contract-page .emp-info .email{color:var(--ct-on-sv);opacity:.85;font-size:11.5px}.contract-page .money{font-family:var(--ct-font-mono);letter-spacing:-.02em;color:var(--ct-on-surface);font-weight:500}.contract-page .money small{color:var(--ct-on-sv);opacity:.8;font-family:inherit;font-weight:400}.contract-page .period-cell{color:var(--ct-on-surface);font-size:12.5px;line-height:1.45}.contract-page .period-cell .end{color:var(--ct-on-sv);opacity:.8;font-size:11.5px}.contract-page .dday-badge{font-size:10.5px;font-weight:700;font-family:var(--ct-font-mono);letter-spacing:-.01em;border-radius:20px;padding:3px 9px;display:inline-block}.contract-page .dday-badge.danger{background:color-mix(in srgb,var(--ct-error)16%,transparent);color:var(--ct-error)}.contract-page .dday-badge.warn{background:color-mix(in srgb,var(--ct-tertiary)16%,transparent);color:var(--ct-tertiary)}.contract-page .dday-badge.ok{background:color-mix(in srgb,var(--ct-primary)14%,transparent);color:var(--ct-primary)}.contract-page .dday-badge.safe{background:color-mix(in srgb,var(--ct-secondary)14%,transparent);color:var(--ct-secondary)}.contract-page .action-btns{gap:2px;display:flex}.contract-page .action-btn{width:30px;height:30px;color:var(--ct-on-sv);cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;transition:all .15s;display:grid}.contract-page .action-btn:hover{background:var(--ct-surface-high);color:var(--ct-secondary)}.contract-page .action-btn .material-symbols-outlined{font-size:16px!important}.contract-page .table-foot{border-top:1px solid var(--ct-outline-v);color:var(--ct-on-sv);justify-content:space-between;align-items:center;padding:14px 24px;font-size:12px;display:flex}.contract-page .page-ctrl{align-items:center;gap:4px;display:flex}.contract-page .page-ctrl button{min-width:30px;height:30px;color:var(--ct-on-sv);background:var(--ct-surface);cursor:pointer;border:none;border-radius:7px;place-items:center;padding:0 8px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:grid}.contract-page .page-ctrl button.active{background:var(--ct-primary);color:var(--ct-on-primary)}.contract-page .page-ctrl button:hover:not(.active){background:var(--ct-surface-highest);color:var(--ct-on-surface)}.contract-page .roster-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.contract-page .roster-stat{background:var(--ct-surface-low);border:1px solid var(--ct-outline-v);border-radius:12px;align-items:center;gap:12px;padding:16px 18px;display:flex}.contract-page .rs-icon{border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.contract-page .rs-icon.g1{background:color-mix(in srgb,var(--ct-primary)14%,transparent);color:var(--ct-primary)}.contract-page .rs-icon.g2{background:color-mix(in srgb,var(--ct-tertiary)14%,transparent);color:var(--ct-tertiary)}.contract-page .rs-icon.g3{background:color-mix(in srgb,var(--ct-secondary)14%,transparent);color:var(--ct-secondary)}.contract-page .rs-icon.g4{background:color-mix(in srgb,var(--ct-error)12%,transparent);color:var(--ct-error)}.contract-page .rs-body{flex:1}.contract-page .rs-label{color:var(--ct-on-sv);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.contract-page .rs-value{color:var(--ct-on-surface);letter-spacing:-.02em;margin-top:2px;font-size:22px;font-weight:800}.contract-page .rs-value small{color:var(--ct-on-sv);margin-left:3px;font-size:12px;font-weight:500}.contract-page .roster-stats-bottom{z-index:5;background:color-mix(in srgb,var(--ct-bg)88%,transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--ct-outline-v);box-shadow:0 -4px 18px color-mix(in srgb,var(--ct-on-surface)6%,transparent);margin:auto -32px -64px;padding:16px 32px 20px;position:sticky;bottom:0}.contract-page .settings-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contract-page .settings-section{flex-direction:column;gap:10px;display:flex}.contract-page .settings-title{color:var(--ct-on-sv);text-transform:uppercase;letter-spacing:.1em;padding:4px 4px 8px;font-size:12px;font-weight:700}.contract-page .setting-row{background:var(--ct-surface-low);border:1px solid var(--ct-outline-v);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.contract-page .setting-info{flex:1;min-width:0}.contract-page .setting-info h6{color:var(--ct-on-surface);margin-bottom:3px;font-size:13.5px;font-weight:700}.contract-page .setting-info p{color:var(--ct-on-sv);font-size:12px;line-height:1.45}.contract-page .toggle{background:var(--ct-surface-highest);cursor:pointer;border:none;border-radius:20px;flex-shrink:0;width:42px;height:24px;transition:background .2s;position:relative}.contract-page .toggle:after{content:"";background:var(--ct-on-sv);border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px}.contract-page .toggle.on{background:var(--ct-secondary-container)}.contract-page .toggle.on:after{background:var(--ct-on-surface);left:21px}.contract-page .alert-periods{gap:6px;display:flex}.contract-page .period-chip{background:var(--ct-surface);color:var(--ct-on-sv);border:1px solid var(--ct-outline-v);cursor:pointer;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.contract-page .period-chip.active{background:var(--ct-secondary-container);color:var(--ct-on-secondary-container);border-color:#0000}.contract-page .view-toggle-bar{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:10px;display:flex}.contract-page .view-toggle{background:var(--ct-surface);border:1px solid var(--ct-outline-v);border-radius:9px;gap:2px;padding:3px;display:flex}.contract-page .view-toggle button{color:var(--ct-on-sv);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.contract-page .view-toggle button:hover:not(.active){color:var(--ct-on-surface)}.contract-page .view-toggle button.active{background:var(--ct-surface-highest);color:var(--ct-on-surface);box-shadow:0 1px 2px color-mix(in srgb,var(--ct-on-surface)8%,transparent)}.contract-page .roster-layout{background:var(--ct-surface-low);border:1px solid var(--ct-outline-v);border-radius:14px;grid-template-columns:320px 1fr;min-height:560px;display:grid;overflow:hidden}.contract-page .roster-panel-left{border-right:1px solid var(--ct-outline-v);background:var(--ct-surface);flex-direction:column;min-width:0;display:flex;overflow:hidden}.contract-page .roster-filters{border-bottom:1px solid var(--ct-outline-v);flex-direction:column;gap:10px;padding:14px;display:flex}.contract-page .roster-filters .table-search{min-width:0}.contract-page .roster-search-btn{appearance:none;background:var(--ct-primary,#2a5fa3);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;height:34px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:700;transition:filter .12s,opacity .12s;display:inline-flex}.contract-page .roster-search-btn:hover:not(:disabled){filter:brightness(1.08)}.contract-page .roster-search-btn:disabled{opacity:.55;cursor:not-allowed}.contract-page .roster-search-btn .material-symbols-outlined{font-size:16px}.contract-page .roster-select-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.contract-page .roster-select{appearance:none;background:var(--ct-surface-low)url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none'><path d='M1 1l4 4 4-4' stroke='%23909097' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 10px center/10px 6px;border:1px solid var(--ct-outline-v);color:var(--ct-on-surface);cursor:pointer;border-radius:8px;padding:8px 28px 8px 10px;font-family:inherit;font-size:12.5px;transition:border-color .15s}.contract-page .roster-select:hover{border-color:var(--ct-outline)}.contract-page .roster-select:focus{border-color:var(--ct-secondary);outline:none}.contract-page .roster-list{flex-direction:column;flex:1;gap:2px;min-height:0;padding:8px;display:flex;overflow-y:auto}.contract-page .roster-empty{text-align:center;color:var(--ct-on-sv);flex-direction:column;align-items:center;gap:8px;padding:40px 16px;font-size:12.5px;display:flex}.contract-page .roster-empty .material-symbols-outlined{opacity:.4;font-size:32px}.contract-page .roster-item{cursor:pointer;color:inherit;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:inherit;transition:background .15s;display:flex}.contract-page .roster-item:hover{background:var(--ct-surface-high)}.contract-page .roster-item.active{background:color-mix(in srgb,var(--ct-primary)12%,transparent)}.contract-page .ri-body{flex:1;min-width:0}.contract-page .ri-name{color:var(--ct-on-surface);font-size:13.5px;font-weight:700}.contract-page .ri-meta{color:var(--ct-on-sv);margin-top:2px;font-size:11.5px}.contract-page .ri-online{background:var(--ct-secondary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.contract-page .roster-panel-right{min-width:0;padding:24px 28px;overflow-y:auto}.contract-page .detail-placeholder{height:100%;color:var(--ct-on-sv);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.contract-page .detail-placeholder .material-symbols-outlined{opacity:.4;font-size:42px}.contract-page .detail-header{border-bottom:1px solid var(--ct-outline-v);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:20px;display:flex}.contract-page .detail-ident{align-items:center;gap:14px;display:flex}.contract-page .detail-name{color:var(--ct-on-surface);letter-spacing:-.02em;font-size:20px;font-weight:800}.contract-page .detail-meta{color:var(--ct-on-sv);margin-top:4px;font-size:12.5px}.contract-page .contract-card{background:var(--ct-surface);border:1px solid var(--ct-outline-v);border-radius:12px;margin-bottom:16px;padding:20px}.contract-page .contract-card.current{border-left:4px solid var(--ct-secondary);background:var(--ct-surface-low)}.contract-page .contract-card.prev{background:var(--ct-surface);opacity:.92}.contract-page .contract-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.contract-page .contract-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.contract-page .sub-label{color:var(--ct-on-surface);font-size:12.5px;font-weight:600}.contract-page .contract-actions{align-items:center;gap:6px;display:flex}.contract-page .btn-text{color:var(--ct-on-sv);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-family:inherit;font-size:12.5px;font-weight:600;transition:color .15s}.contract-page .btn-text:hover{color:var(--ct-on-surface)}.contract-page .btn.btn-sm{padding:6px 14px;font-size:12px}.contract-page .contract-body{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.contract-page .contract-col{flex-direction:column;gap:6px;min-width:0;display:flex}.contract-page .col-label{color:var(--ct-on-sv);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.contract-page .col-value{color:var(--ct-on-surface);letter-spacing:-.01em;word-break:keep-all;font-size:14.5px;font-weight:700}.contract-page .contract-changes{margin-top:16px}.contract-page .btn-link{color:var(--ct-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:12.5px;font-weight:600;transition:opacity .15s;display:inline-flex}.contract-page .btn-link:hover{opacity:.8}.contract-page .change-count{background:color-mix(in srgb,var(--ct-primary)18%,transparent);color:var(--ct-primary);font-size:11px;font-family:var(--ct-font-mono);border-radius:10px;padding:1px 8px;font-weight:700}.contract-page .contract-foot{border-top:1px solid var(--ct-outline-v);color:var(--ct-on-sv);justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;font-size:11.5px;display:flex}.contract-page .modified-tag{color:var(--ct-tertiary);font-weight:700}.contract-page .detail-section-title{color:var(--ct-on-sv);text-transform:uppercase;letter-spacing:.08em;margin-top:24px;margin-bottom:12px;font-size:13px;font-weight:700}.contract-page .cf-overlay{z-index:60;background:color-mix(in srgb,var(--ct-on-surface)45%,transparent);-webkit-backdrop-filter:blur(6px);justify-content:center;align-items:flex-start;padding:48px 16px;animation:.18s cfFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes cfFadeIn{0%{opacity:0}to{opacity:1}}.contract-page .cf-card{background:var(--ct-surface-low);border:1px solid var(--ct-outline-v);width:100%;max-width:680px;box-shadow:0 24px 48px -16px color-mix(in srgb,var(--ct-on-surface)28%,transparent);border-radius:18px;animation:.22s cubic-bezier(.22,1,.36,1) cfSlideUp;overflow:hidden}@keyframes cfSlideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.contract-page .cf-header{border-bottom:1px solid var(--ct-outline-v);justify-content:space-between;align-items:center;gap:12px;padding:22px 28px 18px;display:flex}.contract-page .cf-title{color:var(--ct-on-surface);letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.contract-page .cf-title em{font-family:var(--ct-font-serif);color:var(--ct-on-sv);letter-spacing:0;font-size:14px;font-style:italic;font-weight:400}.contract-page .cf-mode-chip{background:color-mix(in srgb,var(--ct-primary)12%,transparent);color:var(--ct-primary);letter-spacing:-.01em;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:10.5px;font-weight:700;display:inline-flex}.contract-page .cf-worker-chip{background:color-mix(in srgb,var(--ct-primary)14%,transparent);color:var(--ct-primary);border:1px solid color-mix(in srgb,var(--ct-primary)24%,transparent);letter-spacing:-.01em;border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 12px;font-size:12.5px;display:inline-flex}.contract-page .cf-worker-chip .material-symbols-outlined{flex:none;font-size:15px!important}.contract-page .cf-worker-chip b{font-weight:800}.contract-page .cf-worker-chip em{opacity:.8;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-style:normal;font-weight:500;overflow:hidden}.contract-page .cf-close{width:32px;height:32px;color:var(--ct-on-sv);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.contract-page .cf-close:hover{background:var(--ct-surface-high);color:var(--ct-on-surface)}.contract-page .cf-close .material-symbols-outlined{font-size:20px!important}.contract-page .cf-body{max-height:calc(100vh - 240px);padding:20px 28px 8px;overflow-y:auto}.contract-page .cf-section{border-bottom:1px dashed var(--ct-outline-v);padding:18px 0}.contract-page .cf-section:last-child{border-bottom:none}.contract-page .cf-section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--ct-on-sv);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;font-weight:700;display:flex}.contract-page .cf-section-title em{font-family:var(--ct-font-serif);text-transform:none;letter-spacing:0;color:var(--ct-on-surface);font-size:15px;font-style:italic;font-weight:400}.contract-page .cf-step-badge{background:var(--ct-primary);min-width:24px;height:24px;color:var(--ct-on-primary);font-family:var(--ct-font-mono),ui-monospace,monospace;letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.contract-page .cf-step-badge.optional{background:var(--ct-surface-high);color:var(--ct-on-sv)}.contract-page .cf-step-meta{color:var(--ct-on-sv);text-transform:none;letter-spacing:0;margin-left:auto;font-size:10.5px;font-weight:600}.contract-page .cf-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.contract-page .cf-grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.contract-page .cf-full{grid-column:1/-1}.contract-page .cf-field{flex-direction:column;gap:6px;min-width:0;display:flex}.contract-page .cf-label{color:var(--ct-on-sv);letter-spacing:-.005em;font-size:11.5px;font-weight:700}.contract-page .cf-label .cf-req{color:var(--ct-error);margin-left:2px}.contract-page .cf-label .cf-hint{color:var(--ct-outline);margin-left:6px;font-size:10.5px;font-weight:500}.contract-page .cf-input,.contract-page .cf-select,.contract-page .cf-textarea{border:1px solid var(--ct-outline-v);background:var(--ct-surface);width:100%;color:var(--ct-on-surface);border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s,box-shadow .15s}.contract-page .cf-input:hover,.contract-page .cf-select:hover,.contract-page .cf-textarea:hover{border-color:var(--ct-outline)}.contract-page .cf-input:focus,.contract-page .cf-select:focus,.contract-page .cf-textarea:focus{border-color:var(--ct-primary);background:var(--ct-surface-low);box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-primary)14%,transparent)}.contract-page .cf-textarea{resize:vertical;min-height:64px}.contract-page .cf-inline-warn{color:var(--ct-tertiary);margin-top:2px;font-size:10.5px;font-weight:600}.contract-page .cf-help{color:var(--ct-primary);background:color-mix(in srgb,var(--ct-primary)8%,transparent);border-left:2px solid var(--ct-primary);letter-spacing:-.005em;opacity:0;border-radius:0 6px 6px 0;max-height:0;margin-top:0;padding:0 10px;font-size:11px;line-height:1.5;transition:max-height .18s,opacity .15s,padding .18s;overflow:hidden}.contract-page .cf-field:focus-within .cf-help,.contract-page .cf-field:hover .cf-help{opacity:1;max-height:72px;margin-top:6px;padding:8px 10px}.contract-page .cf-help b{color:var(--ct-on-surface);font-weight:700}.contract-page .cf-seg{border:1px solid var(--ct-outline-v);background:var(--ct-surface);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:0;padding:4px;display:grid}.contract-page .cf-seg button{color:var(--ct-on-sv);cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-family:inherit;font-size:12.5px;font-weight:700;transition:background .15s,color .15s;display:flex}.contract-page .cf-seg button:hover{color:var(--ct-on-surface)}.contract-page .cf-seg button:disabled,.contract-page .cf-seg button[aria-disabled=true]{opacity:.4;cursor:not-allowed;text-decoration:line-through}.contract-page .cf-seg button:disabled:hover,.contract-page .cf-seg button[aria-disabled=true]:hover{color:var(--ct-on-sv);background:0 0}.contract-page .cf-seg button.active{background:var(--ct-surface-low);color:var(--ct-on-surface);box-shadow:0 1px 0 var(--ct-outline-v),0 2px 6px color-mix(in srgb,var(--ct-on-surface)8%,transparent)}.contract-page .cf-seg button.active .cf-seg-dot{background:var(--ct-primary)}.contract-page .cf-seg-dot{background:var(--ct-outline);border-radius:50%;width:6px;height:6px;transition:background .15s}.contract-page .cf-quick-chips{gap:6px;margin-top:6px;display:flex}.contract-page .cf-quick-chip{border:1px solid var(--ct-outline-v);background:var(--ct-surface);color:var(--ct-on-sv);cursor:pointer;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:700;transition:all .15s}.contract-page .cf-quick-chip:hover{border-color:var(--ct-primary);color:var(--ct-primary)}.contract-page .cf-quick-chip.active{background:var(--ct-primary);border-color:var(--ct-primary);color:var(--ct-on-primary)}.contract-page .cf-tax-box{border:1px solid color-mix(in srgb,var(--ct-secondary)22%,transparent);background:color-mix(in srgb,var(--ct-secondary)6%,transparent);border-radius:12px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.contract-page .cf-tax-head{color:var(--ct-secondary);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.contract-page .cf-tax-head .cf-tax-hint{color:var(--ct-on-sv);text-transform:none;letter-spacing:0;margin-left:auto;font-size:10.5px;font-weight:500}.contract-page .cf-footer{border-top:1px solid var(--ct-outline-v);background:var(--ct-surface);justify-content:flex-end;align-items:center;gap:10px;padding:16px 28px;display:flex}.contract-page .cf-footer-hint{color:var(--ct-error);letter-spacing:-.005em;margin-right:auto;font-size:11.5px;font-weight:600}.contract-page .cf-btn{cursor:pointer;letter-spacing:-.01em;border-radius:10px;align-items:center;gap:6px;padding:9px 18px;font-family:inherit;font-size:12.5px;font-weight:700;transition:all .15s;display:inline-flex}.contract-page .cf-btn.ghost{color:var(--ct-on-sv);border:1px solid var(--ct-outline-v);background:0 0}.contract-page .cf-btn.ghost:hover{border-color:var(--ct-outline);color:var(--ct-on-surface)}.contract-page .cf-btn.primary{background:var(--ct-primary);color:var(--ct-on-primary);border:1px solid var(--ct-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--ct-primary)28%,transparent)}.contract-page .cf-btn.primary:hover{background:var(--ct-inverse-primary);border-color:var(--ct-inverse-primary)}.contract-page .cf-btn.primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}@media (max-width:720px){.contract-page .cf-grid-2,.contract-page .cf-grid-3{grid-template-columns:1fr}.contract-page .cf-header{padding:18px 20px 14px}.contract-page .cf-body{padding:16px 20px 4px}.contract-page .cf-footer{padding:12px 20px}}.contract-page .cd-overlay{z-index:60;background:color-mix(in srgb,var(--ct-on-surface)45%,transparent);-webkit-backdrop-filter:blur(6px);justify-content:center;align-items:flex-start;padding:48px 16px;animation:.18s cfFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.contract-page .cd-card{background:var(--ct-surface-low);border:1px solid var(--ct-outline-v);width:100%;max-width:560px;box-shadow:0 24px 48px -16px color-mix(in srgb,var(--ct-on-surface)28%,transparent);border-radius:18px;animation:.22s cubic-bezier(.22,1,.36,1) cfSlideUp;overflow:hidden}.contract-page .cd-header{border-bottom:1px solid var(--ct-outline-v);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:22px 28px 18px;display:flex}.contract-page .cd-title{color:var(--ct-on-surface);letter-spacing:-.02em;align-items:baseline;gap:10px;font-size:18px;font-weight:800;display:flex}.contract-page .cd-title em{font-family:var(--ct-font-serif);color:var(--ct-on-sv);letter-spacing:0;font-size:14px;font-style:italic;font-weight:400}.contract-page .cd-mode-chip{letter-spacing:-.01em;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:10.5px;font-weight:700;display:inline-flex}.contract-page .cd-mode-chip.active{background:color-mix(in srgb,var(--ct-secondary)18%,transparent);color:var(--ct-secondary)}.contract-page .cd-mode-chip.past{background:var(--ct-surface-high);color:var(--ct-on-sv)}.contract-page .cd-close{width:32px;height:32px;color:var(--ct-on-sv);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.contract-page .cd-close:hover{background:var(--ct-surface-high);color:var(--ct-on-surface)}.contract-page .cd-close .material-symbols-outlined{font-size:20px!important}.contract-page .cd-body{max-height:calc(100vh - 240px);padding:20px 28px 8px;overflow-y:auto}.contract-page .cd-section{border-bottom:1px dashed var(--ct-outline-v);padding:16px 0}.contract-page .cd-section:last-child{border-bottom:none}.contract-page .cd-section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--ct-on-sv);align-items:baseline;gap:10px;margin-bottom:12px;font-size:11.5px;font-weight:700;display:flex}.contract-page .cd-section-title em{font-family:var(--ct-font-serif);text-transform:none;letter-spacing:0;color:var(--ct-on-surface);font-size:14.5px;font-style:italic;font-weight:400}.contract-page .cd-hero{border:1px solid var(--ct-outline-v);border-left:3px solid var(--ct-primary);background:color-mix(in srgb,var(--ct-primary)6%,transparent);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.contract-page .cd-hero-period{color:var(--ct-on-surface);letter-spacing:-.02em;font-size:16px;font-weight:800}.contract-page .cd-hero-period span.unset{color:var(--ct-outline);font-weight:600}.contract-page .cd-hero-dday{letter-spacing:-.01em;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.contract-page .cd-hero-dday.safe{background:color-mix(in srgb,var(--ct-secondary)16%,transparent);color:var(--ct-secondary)}.contract-page .cd-hero-dday.ok{background:color-mix(in srgb,var(--ct-primary)16%,transparent);color:var(--ct-primary)}.contract-page .cd-hero-dday.warn{background:color-mix(in srgb,var(--ct-tertiary)16%,transparent);color:var(--ct-tertiary)}.contract-page .cd-hero-dday.danger{background:color-mix(in srgb,var(--ct-error)16%,transparent);color:var(--ct-error)}.contract-page .cd-stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.contract-page .cd-stat-card{border:1px solid var(--ct-outline-v);background:var(--ct-surface);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.contract-page .cd-stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ct-on-sv);font-size:10.5px;font-weight:700}.contract-page .cd-stat-val{color:var(--ct-on-surface);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;overflow:hidden}.contract-page .cd-kv{border:1px solid var(--ct-outline-v);background:var(--ct-surface);border-radius:12px;overflow:hidden}.contract-page .cd-kv-row{border-bottom:1px dashed var(--ct-outline-v);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.contract-page .cd-kv-row:last-child{border-bottom:none}.contract-page .cd-kv-label{color:var(--ct-on-sv);font-size:12px;font-weight:600}.contract-page .cd-kv-val{color:var(--ct-on-surface);letter-spacing:-.01em;font-size:12.5px;font-weight:800}.contract-page .cd-kv-val.dim{color:var(--ct-outline);font-weight:600}.contract-page .cd-callout{border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.contract-page .cd-callout.tax{background:color-mix(in srgb,var(--ct-secondary)8%,transparent);border:1px solid color-mix(in srgb,var(--ct-secondary)22%,transparent)}.contract-page .cd-callout.note{background:color-mix(in srgb,var(--ct-tertiary)8%,transparent);border:1px solid color-mix(in srgb,var(--ct-tertiary)22%,transparent)}.contract-page .cd-callout.addr{background:var(--ct-surface);border:1px solid var(--ct-outline-v)}.contract-page .cd-callout-head{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;font-size:10.5px;font-weight:700;display:flex}.contract-page .cd-callout.tax .cd-callout-head{color:var(--ct-secondary)}.contract-page .cd-callout.note .cd-callout-head{color:var(--ct-tertiary)}.contract-page .cd-callout.addr .cd-callout-head{color:var(--ct-on-sv)}.contract-page .cd-callout-head .hint{text-transform:none;letter-spacing:0;color:var(--ct-on-sv);margin-left:auto;font-size:10px;font-weight:500}.contract-page .cd-callout-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.contract-page .cd-callout-row .lbl{color:var(--ct-on-sv)}.contract-page .cd-callout-row .val{color:var(--ct-on-surface);font-weight:800}.contract-page .cd-callout.tax .cd-callout-row .val{color:var(--ct-secondary)}.contract-page .cd-callout.note p{color:var(--ct-on-surface);white-space:pre-wrap;margin:0;font-size:12px;line-height:1.6}.contract-page .cd-callout.addr .addr-line{color:var(--ct-on-surface);letter-spacing:-.005em;font-size:13px;font-weight:700}.contract-page .cd-callout.addr .addr-sub{color:var(--ct-on-sv);font-size:12px}.contract-page .cd-meta{text-align:center;color:var(--ct-outline);letter-spacing:-.005em;margin-top:14px;font-size:10.5px}.contract-page .cd-footer{border-top:1px solid var(--ct-outline-v);background:var(--ct-surface);justify-content:flex-end;padding:14px 28px;display:flex}.contract-page .cd-btn{background:var(--ct-on-surface);color:var(--ct-surface-low);letter-spacing:-.01em;cursor:pointer;border:none;border-radius:10px;padding:9px 18px;font-family:inherit;font-size:12.5px;font-weight:700;transition:background .15s,opacity .15s}.contract-page .cd-btn:hover{opacity:.88}.contract-page .cl-meta-bar{border:1px solid var(--ct-outline-v);background:var(--ct-surface);color:var(--ct-on-sv);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 14px;font-size:12px;display:flex}.contract-page .cl-meta-bar b{color:var(--ct-on-surface);letter-spacing:-.01em;font-weight:800}.contract-page .cl-timeline{flex-direction:column;gap:14px;padding-left:22px;display:flex;position:relative}.contract-page .cl-timeline:before{content:"";background:color-mix(in srgb,var(--ct-tertiary)24%,transparent);border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:8px}.contract-page .cl-entry{border:1px solid color-mix(in srgb,var(--ct-tertiary)20%,transparent);background:color-mix(in srgb,var(--ct-tertiary)5%,transparent);border-radius:12px;padding:12px 14px;position:relative}.contract-page .cl-entry:before{content:"";background:var(--ct-tertiary);width:10px;height:10px;box-shadow:0 0 0 3px var(--ct-surface-low);border-radius:50%;position:absolute;top:16px;left:-18px}.contract-page .cl-entry-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.contract-page .cl-entry-num{background:var(--ct-tertiary);color:var(--ct-on-tertiary);font-family:var(--ct-font-mono),ui-monospace,monospace;letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;padding:2px 9px;font-size:10px;font-weight:800;display:inline-flex}.contract-page .cl-entry-date{color:var(--ct-on-sv);letter-spacing:-.005em;font-size:11px;font-weight:600}.contract-page .cl-entry-body{flex-direction:column;gap:6px;display:flex}.contract-page .cl-diff{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.contract-page .cl-diff-label{min-width:68px;color:var(--ct-on-surface);letter-spacing:-.005em;flex-shrink:0;font-size:11px;font-weight:700}.contract-page .cl-diff-before{background:color-mix(in srgb,var(--ct-error)10%,transparent);color:var(--ct-error);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600;text-decoration:line-through}.contract-page .cl-diff-arrow{color:var(--ct-outline);font-size:11px}.contract-page .cl-diff-after{background:color-mix(in srgb,var(--ct-secondary)14%,transparent);color:var(--ct-secondary);letter-spacing:-.01em;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:800}.contract-page .cl-diff-plain{color:var(--ct-on-surface);font-size:11px;font-weight:600}.contract-page .cl-empty{text-align:center;color:var(--ct-on-sv);padding:30px 0;font-size:12px}@media (max-width:720px){.contract-page .cd-stat-grid{grid-template-columns:1fr}.contract-page .cd-header{padding:18px 20px 14px}.contract-page .cd-body{padding:16px 20px 4px}.contract-page .cd-footer{padding:12px 20px}}.contract-page .cn-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px;margin-bottom:14px;display:grid}.contract-page .cn-grid .cn-card{margin-bottom:0}.contract-page .cn-card{background:var(--ct-surface-low);border:1px solid var(--ct-outline-v);border-radius:12px;flex-direction:column;margin-bottom:10px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden;box-shadow:0 2px 7px #0000003d,0 1px 2px #00000024}.dark .contract-page .cn-card{box-shadow:0 2px 7px #000000a3,0 1px 2px #0000005c}.contract-page .cn-card:hover{border-color:var(--ct-outline)}.contract-page .cn-card.current{border-color:color-mix(in srgb,var(--ct-secondary)35%,var(--ct-outline-v));box-shadow:0 0 0 2px color-mix(in srgb,var(--ct-secondary)10%,transparent),0 2px 7px #0000003d,0 1px 2px #00000024}.dark .contract-page .cn-card.current{box-shadow:0 0 0 2px color-mix(in srgb,var(--ct-secondary)18%,transparent),0 2px 7px #000000a3,0 1px 2px #0000005c}.contract-page .cn-card.prev{opacity:.94}.contract-page .cn-head{border-bottom:1px solid var(--ct-outline-v);background:var(--ct-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;display:flex}.contract-page .cn-card.current .cn-head{background:color-mix(in srgb,var(--ct-secondary)6%,var(--ct-surface))}.contract-page .cn-badges{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.contract-page .cn-actions{align-items:center;gap:6px;display:flex}.contract-page .cn-btn-renew{background:color-mix(in srgb,var(--ct-secondary)12%,transparent);border-color:color-mix(in srgb,var(--ct-secondary)30%,transparent);color:var(--ct-secondary);align-items:center;gap:4px;font-weight:700;display:inline-flex}.contract-page .cn-btn-renew:hover{background:color-mix(in srgb,var(--ct-secondary)22%,transparent);border-color:var(--ct-secondary)}.contract-page .cn-btn-renew .material-symbols-outlined{font-size:14px!important}.contract-page .cn-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch;gap:16px;padding:14px 16px;display:grid}@media (max-width:880px){.contract-page .cn-body{grid-template-columns:1fr;gap:14px}}.contract-page .cn-info{border-right:1px dashed var(--ct-outline-v);flex-direction:column;gap:2px;min-width:0;padding-right:16px;display:flex}@media (max-width:880px){.contract-page .cn-info{border-right:none;border-bottom:1px dashed var(--ct-outline-v);padding-bottom:14px;padding-right:0}}.contract-page .cn-salary{min-width:0}.contract-page .cn-section-title{color:var(--ct-on-sv);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:6px;margin-bottom:6px;font-size:9.5px;font-weight:700;display:flex}.contract-page .cn-section-title em{font-family:var(--ct-font-serif);color:var(--ct-on-surface);text-transform:none;letter-spacing:0;font-size:12px;font-style:italic;font-weight:400}.contract-page .cn-info-row{align-items:baseline;gap:12px;padding:5px 0;display:flex}.contract-page .cn-info-row+.cn-info-row{border-top:1px dashed var(--ct-outline-v)}.contract-page .cn-info-row .lbl{min-width:56px;color:var(--ct-on-sv);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:10px;font-weight:700}.contract-page .cn-info-row .val{min-width:0;color:var(--ct-on-surface);letter-spacing:-.005em;flex:1;font-size:12.5px;font-weight:700}.contract-page .cn-info-row .val .sub{color:var(--ct-on-sv);margin-left:6px;font-size:11px;font-weight:600;display:inline-block}.contract-page .cn-info-row .val .dday{letter-spacing:-.01em;border-radius:999px;align-items:center;margin-left:8px;padding:2px 8px;font-size:10.5px;font-weight:800;display:inline-flex}.contract-page .cn-info-row .val .dday.safe{background:color-mix(in srgb,var(--ct-secondary)16%,transparent);color:var(--ct-secondary)}.contract-page .cn-info-row .val .dday.ok{background:color-mix(in srgb,var(--ct-primary)16%,transparent);color:var(--ct-primary)}.contract-page .cn-info-row .val .dday.warn{background:color-mix(in srgb,var(--ct-tertiary)18%,transparent);color:var(--ct-tertiary)}.contract-page .cn-info-row .val .dday.danger{background:color-mix(in srgb,var(--ct-error)16%,transparent);color:var(--ct-error)}.contract-page .cn-changelog{border:1px solid color-mix(in srgb,var(--ct-tertiary)22%,transparent);background:color-mix(in srgb,var(--ct-tertiary)8%,transparent);color:var(--ct-tertiary);cursor:pointer;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;font-family:inherit;font-size:11.5px;font-weight:700;transition:background .15s;display:inline-flex}.contract-page .cn-changelog:hover{background:color-mix(in srgb,var(--ct-tertiary)16%,transparent)}.contract-page .cn-changelog .material-symbols-outlined{font-size:14px!important}.contract-page .cn-changelog .cl-num{background:var(--ct-tertiary);min-width:18px;height:16px;color:var(--ct-on-tertiary);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:9.5px;font-weight:800;display:inline-flex}.contract-page .cn-salary{flex-direction:column;gap:8px;display:flex}.contract-page .cn-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--ct-primary)8%,var(--ct-surface-low)),var(--ct-surface-low));border:1px solid color-mix(in srgb,var(--ct-primary)22%,transparent);border-radius:10px;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 14px;display:flex}.contract-page .cn-hero-label{color:var(--ct-primary);text-transform:uppercase;letter-spacing:.16em;flex-shrink:0;font-size:9.5px;font-weight:800}.contract-page .cn-hero-amount{color:var(--ct-on-surface);letter-spacing:-.03em;font-size:22px;font-weight:900;line-height:1.1;font-family:var(--ct-font-mono),inherit;text-align:right}.contract-page .cn-hero-amount .unit{color:var(--ct-on-sv);letter-spacing:0;margin-left:2px;font-size:11.5px;font-weight:700}.contract-page .cn-rows{border:1px solid var(--ct-outline-v);background:var(--ct-surface-low);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.contract-page .cn-row{border-bottom:1px dashed var(--ct-outline-v);justify-content:space-between;align-items:baseline;padding:7px 12px;font-size:11.5px;display:flex}.contract-page .cn-row:last-child{border-bottom:none}.contract-page .cn-row .lbl{color:var(--ct-on-sv);letter-spacing:-.005em;font-weight:600}.contract-page .cn-row .val{color:var(--ct-on-surface);font-weight:800;font-family:var(--ct-font-mono),inherit;letter-spacing:-.01em}.contract-page .cn-row.sub{background:color-mix(in srgb,var(--ct-secondary)5%,transparent);padding-left:24px;font-size:10.5px}.contract-page .cn-row.sub .lbl{color:var(--ct-secondary);font-weight:700;position:relative}.contract-page .cn-row.sub .lbl:before{content:"";background:var(--ct-secondary);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.contract-page .cn-row.sub .val{color:var(--ct-secondary)}.contract-page .cn-section-mini{text-transform:uppercase;letter-spacing:.12em;color:var(--ct-on-sv);margin:4px 0 -3px;padding-left:4px;font-size:9.5px;font-weight:700}.contract-page .cn-note{background:color-mix(in srgb,var(--ct-tertiary)6%,transparent);border:1px dashed color-mix(in srgb,var(--ct-tertiary)22%,transparent);color:var(--ct-on-surface);border-radius:8px;padding:8px 12px;font-size:11.5px;line-height:1.5}.contract-page .cn-note:before{content:"📝";margin-right:6px}.contract-page .cn-foot{border-top:1px solid var(--ct-outline-v);background:var(--ct-surface);color:var(--ct-on-sv);letter-spacing:-.005em;justify-content:space-between;align-items:center;margin-top:auto;padding:7px 14px;font-size:10.5px;display:flex}.contract-page .cn-foot .modified{color:var(--ct-tertiary);align-items:center;gap:4px;font-weight:800;display:inline-flex}.contract-page .cn-foot .modified:before{content:"";background:var(--ct-tertiary);border-radius:50%;width:5px;height:5px}.contract-page .rt-status-chip{letter-spacing:-.005em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:700;line-height:1.2;display:inline-flex}.contract-page .rt-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.contract-page .rt-status-chip.tone-ok{background:color-mix(in srgb,var(--ct-secondary)16%,transparent);color:var(--ct-secondary)}.contract-page .rt-status-chip.tone-soon{background:color-mix(in srgb,var(--ct-primary)14%,transparent);color:var(--ct-primary)}.contract-page .rt-status-chip.tone-warn{background:color-mix(in srgb,var(--ct-tertiary)18%,transparent);color:var(--ct-tertiary)}.contract-page .rt-status-chip.tone-danger{background:color-mix(in srgb,var(--ct-error)16%,transparent);color:var(--ct-error)}.contract-page .rt-status-chip.tone-muted{background:var(--ct-surface-high);color:var(--ct-on-sv)}.contract-page .rt-status-chip.tone-ok .rt-status-dot{box-shadow:0 0 0 0 color-mix(in srgb,var(--ct-secondary)80%,transparent);animation:2s infinite rtPulse}@keyframes rtPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ct-secondary)60%,transparent)}70%{box-shadow:0 0 0 5px color-mix(in srgb,var(--ct-secondary)0%,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,var(--ct-secondary)0%,transparent)}}.contract-page .roster-item .rt-status-chip{margin-left:auto;padding:3px 7px}.contract-page .rt-detail-status{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.contract-page .rt-detail-status .muted{color:var(--ct-on-sv);font-size:11.5px;font-weight:600}.contract-page .rt-tl{flex-direction:column;gap:10px;margin-bottom:16px;padding-left:30px;display:flex;position:relative}.contract-page .rt-tl:before{content:"";background:linear-gradient(180deg,var(--ct-primary)0%,var(--ct-secondary)40%,var(--ct-tertiary)70%,#7c3aed 100%);opacity:.35;border-radius:2px;width:2px;position:absolute;top:18px;bottom:18px;left:12px}.contract-page .rt-tl-item{background:var(--ct-surface-low);border:1px solid var(--ct-outline-v);cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:14px 18px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex;position:relative}.contract-page .rt-tl-item:hover{border-color:color-mix(in srgb,var(--tone,var(--ct-outline))50%,transparent);transform:translate(1px)}.contract-page .rt-tl-item:before{content:"";border:2.5px solid var(--tone,var(--ct-outline));background:var(--ct-surface-low);z-index:1;border-radius:50%;width:14px;height:14px;transition:background .15s,box-shadow .15s;position:absolute;top:50%;left:-23px;transform:translateY(-50%)}.contract-page .rt-tl-item.current:before{background:var(--tone,var(--ct-primary));box-shadow:0 0 0 5px color-mix(in srgb,var(--tone,var(--ct-primary))18%,transparent);animation:1.8s cubic-bezier(.22,1,.36,1) infinite rtTlPulse}@keyframes rtTlPulse{0%{box-shadow:0 0 0 5px color-mix(in srgb,var(--tone,var(--ct-primary))22%,transparent),0 0 0 0 color-mix(in srgb,var(--tone,var(--ct-primary))45%,transparent)}70%{box-shadow:0 0 0 5px color-mix(in srgb,var(--tone,var(--ct-primary))18%,transparent),0 0 0 14px color-mix(in srgb,var(--tone,var(--ct-primary))0%,transparent)}to{box-shadow:0 0 0 5px color-mix(in srgb,var(--tone,var(--ct-primary))18%,transparent),0 0 0 14px color-mix(in srgb,var(--tone,var(--ct-primary))0%,transparent)}}.contract-page .rt-tl-item.current .rt-tl-live{align-items:center;gap:5px;display:inline-flex}.contract-page .rt-tl-live-dot{background:var(--tone,var(--ct-primary));border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite rtTlBlink;display:inline-block}@keyframes rtTlBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.contract-page .rt-tl-item.current{border-color:color-mix(in srgb,var(--tone,var(--ct-primary))40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone,var(--ct-primary))10%,transparent);background:color-mix(in srgb,var(--tone,var(--ct-primary))4%,var(--ct-surface-low))}.contract-page .rt-tl-year{color:var(--ct-on-surface);letter-spacing:-.03em;font-size:22px;font-weight:900;line-height:1.1;font-family:var(--ct-font-serif,inherit)}.contract-page .rt-tl-sub{color:var(--ct-on-sv);letter-spacing:-.005em;margin-top:2px;font-size:12.5px;font-weight:600}.contract-page .rt-tl-item.current .rt-tl-sub{color:var(--tone,var(--ct-primary));font-weight:800}.contract-page .rt-tl-main{flex-direction:column;min-width:60px;display:flex}.contract-page .rt-tl-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.contract-page .rt-tl-badges{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.contract-page .rt-tl-label{color:var(--ct-on-surface);letter-spacing:-.005em;font-size:12.5px;font-weight:700}.contract-page .rt-tl-arrow{color:var(--ct-outline);flex-shrink:0;font-size:18px;transition:color .15s,transform .12s}.contract-page .rt-tl-item:hover .rt-tl-arrow{color:var(--tone,var(--ct-on-surface));transform:translate(2px)}@media (max-width:500px){.contract-page .rt-tl{padding-left:26px}.contract-page .rt-tl-item{gap:10px;padding:12px 14px}.contract-page .rt-tl-year{font-size:18px}}@media (max-width:1280px){.contract-page .roster-stats{grid-template-columns:repeat(2,1fr)}.contract-page .settings-grid{grid-template-columns:1fr}.contract-page .roster-layout{grid-template-columns:280px 1fr}.contract-page .contract-body{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.contract-page{padding:20px}.contract-page .roster-layout{grid-template-columns:1fr;min-height:auto}.contract-page .roster-panel-left{border-right:none;border-bottom:1px solid var(--ct-outline-v)}.contract-page .contract-body{grid-template-columns:1fr}.contract-page .detail-header{flex-direction:column;align-items:flex-start}.contract-page .roster-stats-bottom{margin-bottom:-20px;margin-left:-20px;margin-right:-20px;padding:14px 20px 16px}}.contract-page .mc-current .page-head h1{font-size:32px}.contract-page .mc-current .page-head p{font-size:15.5px}.contract-page .mc-current .chip{font-size:12.5px}.contract-page .mc-current .detail-placeholder{font-size:16px}.contract-page:has(.mc-current){max-width:none}.contract-page .mc-current{width:100%;max-width:none}.contract-page .mc-current .cn-grid{grid-template-columns:1fr;gap:16px}.contract-page .mc-current .cn-card{width:100%;max-width:648px;margin:0 auto 0 0}@media (min-width:600px) and (max-width:880px){.contract-page .mc-current .cn-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px}.contract-page .mc-current .cn-info{border-right:1px dashed var(--ct-outline-v);border-bottom:none;padding-bottom:0;padding-right:14px}}.contract-page .mc-current .cn-card{background:var(--ct-surface);border:none;border-radius:16px;transition:transform .18s,box-shadow .18s;box-shadow:0 1px 2px #0000000d,0 4px 14px #0000000f}.dark .contract-page .mc-current .cn-card{background:var(--ct-surface);box-shadow:0 1px 2px #0006,0 4px 14px #00000052}.contract-page .mc-current .cn-card:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000000f,0 8px 22px #00000014}.contract-page .mc-current .cn-card.current{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--ct-secondary)28%,transparent),0 1px 2px #0000000d,0 4px 14px #0000000f}.dark .contract-page .mc-current .cn-card.current{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--ct-secondary)40%,transparent),0 1px 2px #0006,0 4px 14px #00000052}.contract-page .mc-current .cn-head{background:0 0;border-bottom:none;padding:14px 18px 4px}.contract-page .mc-current .cn-card.current .cn-head{background:0 0}.contract-page .mc-current .cn-actions .btn-text{color:var(--ct-on-sv);cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12.5px;font-weight:700;transition:background .15s,color .15s}.contract-page .mc-current .cn-actions .btn-text:hover{background:color-mix(in srgb,var(--ct-on-surface)6%,transparent);color:var(--ct-on-surface)}.contract-page .mc-current .cn-body{gap:14px;padding:8px 18px 14px}.contract-page .mc-current .cn-section-title{margin-bottom:8px;font-size:11.5px}.contract-page .mc-current .cn-section-title em{font-size:14px}.contract-page .mc-current .cn-info-row{align-items:center;padding:6px 0}.contract-page .mc-current .cn-info-row+.cn-info-row{border-top:none}.contract-page .mc-current .cn-info-row .lbl{color:var(--ct-on-sv);text-transform:none;letter-spacing:0;opacity:.78;min-width:64px;font-size:12px;font-weight:600}.contract-page .mc-current .cn-info-row .val{font-size:15px;font-weight:700}.contract-page .mc-current .cn-info-row .val .sub{font-size:13.5px;font-weight:500}.contract-page .mc-current .cn-info-row .val .dday{font-size:12px}.contract-page .mc-current .cn-changelog{background:color-mix(in srgb,var(--ct-tertiary)12%,transparent);color:var(--ct-tertiary);border:none;border-radius:999px;margin-top:8px;padding:7px 13px;font-size:13px;font-weight:700}.contract-page .mc-current .cn-changelog:hover{background:color-mix(in srgb,var(--ct-tertiary)20%,transparent)}.contract-page .mc-current .cn-changelog .cl-num{min-width:17px;height:17px;font-size:11px}.contract-page .mc-current .cn-hero{background:color-mix(in srgb,var(--ct-primary)10%,var(--ct-surface));border:none;border-radius:12px;padding:14px 18px}.contract-page .mc-current .cn-hero-label{color:var(--ct-primary);letter-spacing:.14em;opacity:.92;font-size:11px;font-weight:800}.contract-page .mc-current .cn-hero-amount{letter-spacing:-.025em;font-size:26px;font-weight:800}.contract-page .mc-current .cn-hero-amount .unit{font-size:13.5px;font-weight:700}.contract-page .mc-current .cn-rows{background:color-mix(in srgb,var(--ct-on-surface)3.5%,transparent);border:none;border-radius:12px;padding:4px 14px;overflow:visible}.contract-page .mc-current .cn-row{border-bottom:none;padding:9px 0;font-size:13.5px}.contract-page .mc-current .cn-row+.cn-row{border-top:none}.contract-page .mc-current .cn-row .lbl{opacity:.78;color:var(--ct-on-sv);font-weight:600}.contract-page .mc-current .cn-row .val{font-weight:700}.contract-page .mc-current .cn-row.sub{background:0 0;padding:8px 0 8px 22px;font-size:13px}.contract-page .mc-current .cn-row.sub .lbl:before{background:var(--ct-secondary);width:5px;height:5px;left:-14px}.contract-page .mc-current .cn-section-mini{color:var(--ct-on-sv);letter-spacing:.1em;opacity:.7;margin:6px 0 0;padding-left:0;font-size:11px;font-weight:700}.contract-page .mc-current .cn-note{background:color-mix(in srgb,var(--ct-tertiary)8%,transparent);border:none;border-radius:10px;padding:10px 14px;font-size:13.5px}.contract-page .mc-current .cn-foot{opacity:.72;background:0 0;border-top:none;padding:4px 18px 14px;font-size:12.5px}.contract-page .mc-current .cn-foot .modified{opacity:1;font-weight:700}
