:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#1f2937;background-color:#f6f8fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}body{margin:0;min-width:320px;background-color:#f6f8fb}#app{min-height:100vh}.footer{border-top:1px solid #e5e7eb;padding:1rem 1.5rem;text-align:center;color:#475569;font-size:.95rem;display:grid;gap:.35rem}.footer-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.footer-copy{color:#94a3b8;font-size:.9rem}.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin-bottom:1rem}.timeline-item{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border-radius:10px;background:#f8fafc;border:1px solid #e5e7eb;color:#1f2937}.timeline-item .dot{width:12px;height:12px;border-radius:50%;background:#cbd5e1;box-shadow:0 0 0 3px #cbd5e173;position:relative;top:-10px}.timeline-item.done .dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.timeline-item.current{border-color:#2563eb;background:linear-gradient(120deg,#e0e7ff,#f8fafc);color:#1d4ed8}.timeline-item.current .dot{background:#2563eb;box-shadow:0 0 0 3px #2563eb40}.timeline-item .label{font-weight:600}.shell{min-height:100vh;background:linear-gradient(135deg,#eef2ff,#f8fafc);color:#1f2937}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background-color:#fff;box-shadow:0 8px 25px #0f172a0f}.brand{display:flex;align-items:center;gap:.65rem;font-weight:700;letter-spacing:.02em;color:#0f172a}.brand-logo{width:36px;height:36px;border-radius:50%;object-fit:contain;box-shadow:0 6px 16px #0f172a26;background:#f8fafc;padding:4px}.nav{display:flex;gap:1rem}.nav a{color:#334155;text-decoration:none;font-weight:600;padding:.35rem .5rem;border-radius:8px;transition:background-color .15s ease,color .15s ease}.nav a.router-link-active{color:#2563eb;background-color:#2563eb1a}.nav-tabs{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.nav-tabs .tab{position:relative;padding:.2rem;color:#1f2937;font-weight:700;text-decoration:none;transition:color .15s ease;cursor:pointer}.nav-tabs .tab:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:transparent;border-radius:999px;transition:background-color .2s ease,transform .2s ease;transform:scaleX(0);transform-origin:center}.nav-tabs .tab:hover{color:#1d4ed8}.nav-tabs .tab:hover:after{background:#2563eb99;transform:scaleX(1)}.nav-tabs .tab.active,.nav-tabs .tab.router-link-active{color:#1d4ed8}.nav-tabs .tab.active:after,.nav-tabs .tab.router-link-active:after{background:#1d4ed8;transform:scaleX(1)}.top-actions{display:flex;align-items:center;gap:1rem}.user-box{display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:9px}.user-name{color:#0f172a;font-weight:600;font-size:.95rem}.user-box .btn.sm{height:36px;padding:0 .65rem;font-size:.9rem}@media(max-width:640px){.brand span{font-size:.95rem;line-height:1.2}.user-name{font-size:.9rem}.user-box .btn.sm{height:34px;padding:0 .55rem;font-size:.85rem}}@media(max-width:680px){.user-name{display:none}.user-box{gap:.25rem;padding:.2rem .45rem}.user-box .btn.sm{height:32px;padding:0 .5rem;font-size:.82rem}}.content{max-width:1024px;margin:0 auto;padding:2rem 1.5rem 3rem}.footer{border-top:1px solid #e5e7eb;padding:1rem 1.5rem;text-align:center;color:#475569;font-size:.95rem}.footer-link{display:inline-flex;align-items:center;gap:.5rem}.footer a{color:#2563eb;font-weight:600;text-decoration:none}.footer a:hover{text-decoration:underline}.footer .divider{color:#cbd5e1}.page{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.page-title{margin:0 0 .5rem;font-size:1.8rem;font-weight:700;color:#0f172a}.page-subtitle{color:#6b7280}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:0 8px 25px #0f172a0f}.card .card{background:transparent;border:none;box-shadow:none;padding:0;margin:1rem 0 0}.form-grid{display:grid;gap:1rem;margin:30px auto}.input-group{display:flex;flex-direction:column;gap:.4rem}.input-group label{font-weight:600;color:#1f2937}.input-group input{padding:.65rem .75rem;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#111827;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.2rem;border-radius:12px;border:1px solid transparent;background:linear-gradient(120deg,#2563eb,#4f46e5);color:#fff;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px #2563eb40}.btn:active{transform:translateY(0);opacity:.95}.btn.secondary{background:#fff;border-color:#e5e7eb;color:#1f2937}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:1rem}.meta-item{padding:.85rem;border-radius:10px;background:#f8fafc;border:1px solid #e5e7eb}.meta-label{display:block;color:#6b7280;font-size:.9rem;margin-bottom:.2rem}.meta-value{font-weight:600;color:#111827}.list{display:grid;gap:.6rem}.attachment{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-radius:10px;background:#f8fafc;border:1px solid #e5e7eb}.doc-list{display:grid;gap:.6rem}.doc-item{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #efefef}.doc-item:last-child{border-bottom:none}.doc-item strong{color:#0f172a}.doc-info{display:flex;align-items:center;gap:.55rem}.doc-icon{width:18px;height:18px;background:center/contain no-repeat url("data:image/svg+xml;utf8,<svg t='1765178277049' class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'><path d='M800 556.8L524.8 832c-38.4 38.4-83.2 64-140.8 64s-102.4-25.6-140.8-64c-76.8-76.8-76.8-204.8 0-281.6l384-384c25.6-25.6 57.6-38.4 89.6-38.4 32 0 64 12.8 89.6 38.4 44.8 44.8 44.8 128 0 172.8l-384 384c-6.4 6.4-19.2 12.8-32 12.8s-25.6-6.4-32-12.8c-19.2-19.2-19.2-44.8 0-64l384-384c12.8-12.8 12.8-32 0-44.8-6.4-6.4-12.8-12.8-25.6-12.8-6.4 0-19.2 6.4-25.6 12.8l-384 384c-19.2 19.2-32 51.2-32 76.8 0 32 12.8 57.6 32 76.8 19.2 19.2 51.2 32 76.8 32 32 0 57.6-12.8 76.8-32l384-384c38.4-38.4 57.6-83.2 57.6-134.4s-19.2-96-57.6-134.4c-32-32-76.8-51.2-128-51.2s-96 19.2-134.4 57.6l-384 384c-51.2 51.2-76.8 115.2-76.8 185.6 0 70.4 25.6 140.8 76.8 185.6C249.6 934.4 313.6 960 384 960s140.8-25.6 185.6-76.8L844.8 608c12.8-12.8 12.8-32 0-44.8-12.8-19.2-32-12.8-44.8-6.4z' fill='%238a8a8a'/></svg>");flex-shrink:0}.footer-note{text-align:center;color:#6b7280;margin-top:1.5rem;font-size:.95rem}.timeline{position:relative;display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;padding:.6rem .4rem 1.2rem;margin-bottom:1rem}.timeline:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:#e2e8f0;transform:translateY(-50%);z-index:0}.timeline-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:100px;text-align:center;color:#1f2937;background:transparent;border:none;top:30px}.timeline-item .dot{width:16px;height:16px;border-radius:50%;background:#e2e8f0;border:none;box-shadow:0 0 0 3px #e2e8f059;margin:0}.timeline-item.done .dot{background:#22c55e;border:none;box-shadow:0 0 0 3px #22c55e33}.timeline-item.current{color:#1d4ed8;background:transparent;border:none}.timeline-item.current .dot{background:#2563eb;border:none;box-shadow:0 0 0 3px #2563eb40}.timeline-item .label{font-weight:600;font-size:.95rem}@media(max-width:640px){.timeline{position:relative;flex-direction:column;align-items:flex-start;gap:.8rem;padding:.4rem 0 .6rem 1.4rem}.timeline:before{inset:0 auto 0 10px;width:2px;height:auto;transform:none}.timeline-item{position:relative;flex-direction:row;align-items:center;min-width:auto;text-align:left;gap:.5rem;padding-left:10px}.timeline-item .dot{position:absolute;left:-17px;top:50%;transform:translateY(-50%);width:12px;height:12px;box-shadow:0 0 0 2px #e2e8f059;margin:0}.timeline-item .label{font-size:.9rem}}
