*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg: #F7F9FC;--surface: #FFFFFF;--border: #E8ECF2;--border-md: #7A8493;--text-1: #1a1d23;--text-2: #6B7280;--text-3: #5C6675;--blue-bg: #F0F4FF;--blue: #2952CC;--blue-text: #1E3FA8;--green-bg: #F0FDF4;--green: #15803D;--amber-bg: #FFFBEB;--amber: #B45309;--amber-lt: #FDE68A;--red-bg: #FEF2F2;--red: #B91C1C;--red-lt: #FECACA;--gray-bg: #F0F2F5;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px}html{font-size:14px}body{font-family:var(--font);background:var(--bg);color:var(--text-1);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased}h1{font-size:24px;font-weight:500;letter-spacing:-.4px}h2{font-size:18px;font-weight:500;letter-spacing:-.2px}h3{font-size:15px;font-weight:500}p{line-height:1.6}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@keyframes saved-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:0;left:0;padding:8px 14px;background:var(--text-1);color:#fff;font-size:13px;font-weight:500;border-radius:0 0 8px;transform:translateY(-100%);transition:transform .12s;z-index:300}.skip-link:focus{transform:translateY(0);outline:2px solid var(--blue);outline-offset:-2px}button{font-family:var(--font);font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--border-md);background:var(--surface);color:var(--text-1);border-radius:var(--r-md);padding:8px 16px;transition:background .1s,border-color .1s,opacity .1s;line-height:1}button:hover{background:var(--bg)}button:active{opacity:.8}button:disabled{opacity:.38;cursor:not-allowed}input,select,textarea{font-family:var(--font);font-size:14px;width:100%;padding:10px 12px;border:1px solid var(--border-md);border-radius:var(--r-md);background:var(--surface);color:var(--text-1);outline:none;transition:border-color .15s,box-shadow .15s;line-height:1.4}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2952cc1a}input[readonly]{background:var(--bg);color:var(--text-2)}textarea{resize:vertical;min-height:72px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239CA3AF' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}a{color:inherit;text-decoration:none}.btn-primary{background:var(--text-1);color:#fff;border-color:var(--text-1)}.btn-primary:hover{background:#2d3240}.btn-blue{background:var(--blue-bg);color:var(--blue-text);border-color:#b5c8f8}.btn-blue:hover{background:#e4ecff}.btn-green{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.btn-green:hover{background:#bbf7d0}.btn-danger{background:var(--red-bg);color:var(--red);border-color:var(--red-lt)}.btn-sm{padding:6px 12px;font-size:13px}.btn-icon{padding:7px 9px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.field label,.field-label{font-size:13px;font-weight:500;color:var(--text-2);text-transform:none;letter-spacing:0}.field .hint{margin-top:4px;margin-bottom:8px;font-size:12px;color:var(--text-3)}.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.section-label{font-size:15px;font-weight:600;color:var(--text-1);text-transform:none;letter-spacing:-.1px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:16px;margin-top:32px}.section-label:first-child{margin-top:0}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 9px;border-radius:var(--r-full);white-space:nowrap}.badge-blue{background:var(--blue-bg);color:var(--blue-text)}.badge-green{background:var(--green-bg);color:var(--green)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-gray{background:var(--gray-bg);color:var(--text-2)}.alert{border-radius:var(--r-md);padding:11px 14px;font-size:13px;margin-bottom:1rem;line-height:1.5}.alert-info{background:var(--blue-bg);color:var(--blue-text);border:1px solid #B5C8F8}.alert-warn{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-lt)}.alert-error{background:var(--red-bg);color:var(--red);border:1px solid var(--red-lt)}.alert-success{background:var(--green-bg);color:var(--green);border:1px solid #BBF7D0}.check-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #F7F9FC}.check-row:last-child{border-bottom:none}.check-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-md);background:var(--surface);flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .1s,border-color .1s}.check-box.checked{background:var(--text-1);border-color:var(--text-1)}.check-box.checked:after{content:"";display:block;width:9px;height:9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolyline points='1.5,5 3.5,7.5 8.5,2' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.check-text{font-size:13px;color:var(--text-1);line-height:1.4;cursor:pointer}.check-text.done{color:var(--text-3);text-decoration:line-through}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.muted{color:var(--text-2)}.hint{color:var(--text-3);font-size:12px}.mono{font-family:SF Mono,Fira Code,monospace;font-size:12px}.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:var(--r-full);border:1px solid var(--border);color:var(--text-2)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:10px}@keyframes spin{to{transform:rotate(360deg)}}.pipeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.pipeline-grid>*{position:relative;min-width:0}.pipeline-grid>*:not(:last-child):after{content:"";position:absolute;right:-13px;top:30px;width:7px;height:7px;border-right:1.5px solid var(--border-md);border-top:1.5px solid var(--border-md);transform:rotate(45deg);pointer-events:none;z-index:1}.pipeline-grid>*:nth-child(4n):after{display:none}.tenancy-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.tenancy-grid>*{min-width:0}.stage-tabs{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);margin-bottom:16px;overflow:hidden}.stage-tabs-row{display:flex;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border-md) transparent}.stage-tabs-row::-webkit-scrollbar{height:8px}.stage-tabs-row::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:10px}.stage-tabs:after{content:"";position:absolute;top:0;right:0;bottom:8px;width:28px;background:linear-gradient(to right,rgba(255,255,255,0),var(--surface));pointer-events:none;opacity:0;transition:opacity .15s}.stage-tabs[data-overflow=true]:after{opacity:1}@media (max-width: 1100px){.pipeline-grid{grid-template-columns:repeat(3,1fr)}.pipeline-grid>*:nth-child(4n):after{display:block}.pipeline-grid>*:nth-child(3n):after{display:none}.g4{grid-template-columns:repeat(2,1fr)}.tenancy-grid{grid-template-columns:1fr}}@media (max-width: 700px){.pipeline-grid{grid-template-columns:repeat(2,1fr)}.pipeline-grid>*:nth-child(3n):after,.pipeline-grid>*:nth-child(4n):after{display:block}.pipeline-grid>*:nth-child(2n):after{display:none}.g3{grid-template-columns:1fr 1fr}.g2{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.pipeline-grid{grid-template-columns:1fr}.pipeline-grid>*:after{display:none}.g4{grid-template-columns:1fr}}
