.app-root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f8;min-height:100vh;color:#222}.main{max-width:1100px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;gap:24px}.header{background:linear-gradient(135deg,#0d47a1,#1976d2);color:#fff;padding:24px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.project-title{margin:0 0 8px;font-size:24px}.project-subtitle{margin:0;font-size:14px;opacity:.9}.header-meta{font-size:13px;min-width:220px}.header-meta .label{display:inline-block;min-width:110px;font-weight:600}.header-meta>div{margin-bottom:4px}.card{background:#fff;border-radius:10px;padding:20px 20px 16px;box-shadow:0 8px 20px #0f172a0f}.card h2{margin-top:0;margin-bottom:4px}.section-desc{margin-top:0;color:#555;font-size:14px}.bullet-list{padding-left:20px}.bullet-list li{margin-bottom:6px}.timeline{display:flex;flex-direction:column;gap:16px}.timeline-item{display:flex;gap:12px}.timeline-index{min-width:80px;font-weight:700;color:#1976d2}.timeline-content h3{margin:0 0 4px}.timeline-objective{margin:0 0 4px;font-style:italic;color:#555}.timeline-duration{margin:0 0 8px;color:#555}.timeline-content ul{padding-left:18px;margin:0}.timeline-content li{margin-bottom:4px}.work-desc{font-size:13px;color:#555}.duration-tag{color:#777;font-size:13px}.pricing-section{margin-top:12px}.pricing-table{width:100%;border-collapse:collapse;font-size:13px}.pricing-table th,.pricing-table td{border:1px solid #e0e4ea;padding:8px 6px;vertical-align:top}.pricing-table th{background:#f1f5f9;text-align:left;font-weight:600}.numeric{text-align:right;white-space:nowrap}.item-note{font-size:12px;color:#555;margin-top:4px}.subtotal-row td{font-weight:600;background:#f9fafb}.grand-total{margin-top:16px;padding-top:10px;border-top:1px solid #e0e4ea;display:flex;justify-content:space-between;align-items:center;font-weight:700}.grand-total-value{font-size:18px;color:#c62828}.note{margin-top:8px;font-size:12px;color:#555}@media(max-width:768px){.header,.timeline-item{flex-direction:column}.grand-total{flex-direction:column;align-items:flex-start;gap:4px}}
