:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background-color:#f5f7fb}body{margin:0;padding:0;background-color:#f5f7fb}.app-root{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top left,#0b2c4f 0,#06213d 40%,#0b1727)}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;background:#06213deb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(148,163,184,.4);color:#e5e7eb}.nav-left{display:flex;align-items:center;gap:12px}.logo-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#00b5ff,#0064ff);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:18px}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:16px;font-weight:600}.brand-subtitle{font-size:12px;color:#9ca3af}.nav-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.user-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#0f172a99;border:1px solid rgba(148,163,184,.35)}.user-name{font-weight:700}.user-email{color:#cbd5f5}.logout-btn{border:1px solid rgba(148,163,184,.6);border-radius:999px;padding:8px 12px;background:#0f172a66;color:#e5e7eb;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.logout-btn:hover{background:#0f172aa6;border-color:#94a3b8e6;transform:translateY(-1px)}.status-label{color:#9ca3af}.status-pill{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500}.status-pill.ok{background-color:#22c55e2e;color:#bbf7d0;border:1px solid rgba(34,197,94,.5)}.status-pill.error{background-color:#f871712e;color:#fecaca;border:1px solid rgba(248,113,113,.5)}.page-main{flex:1;padding:32px;box-sizing:border-box;color:#0f172a;background:radial-gradient(circle at top right,#1f2937 0,#020617 45% 100%)}.hero-section{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;max-width:100%;margin:0 auto 32px;color:#e5e7eb}@media(max-width:900px){.hero-section{grid-template-columns:1fr}}.hero-copy h1{font-size:32px;margin:0 0 12px}.hero-copy p{margin:0 0 20px;color:#cbd5f5;max-width:520px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.primary-btn{border:none;outline:none;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#00b5ff,#0064ff);color:#fff;box-shadow:0 10px 18px #3b82f666;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.primary-btn:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 12px 22px #3b82f673}.ghost-btn{border-radius:999px;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid rgba(148,163,184,.6);background:transparent;color:#e5e7eb;transition:transform .15s ease,border-color .15s ease,background .15s ease}.ghost-btn:hover{background:#0f172a99;transform:translateY(-1px);border-color:#94a3b8cc}.hero-card{background:radial-gradient(circle at top left,#2563eb66,#0f172a);border-radius:16px;padding:18px;border:1px solid rgba(148,163,184,.5);box-shadow:0 18px 40px #0f172a99}.hero-card h2{font-size:18px;margin:0 0 8px}.hero-card p{font-size:14px;color:#cbd5f5;margin:0 0 12px}.hero-card ul{padding-left:18px;margin:0;font-size:13px;color:#e5e7eb}.content-section{max-width:100%;margin:8px auto 0;padding:16px 20px 20px;border-radius:16px;background:#0f172ae6;border:1px solid rgba(148,163,184,.5);color:#e5e7eb}.content-section h2{margin-top:0;margin-bottom:8px;font-size:18px}.content-section p{margin:0 0 8px;font-size:14px;color:#cbd5e1}.content-section ol{padding-left:18px;margin:0;font-size:14px}.bridgeit-logo{height:32px;width:auto;object-fit:contain;display:block}.opp-panel{margin-top:12px}.opp-input-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.opp-label{display:flex;flex-direction:column;font-size:13px;color:#cbd5e1;flex:1;min-width:220px}.opp-input{margin-top:4px;padding:8px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#0f172acc;color:#e5e7eb}.opp-input::placeholder{color:#64748b}.opp-card{margin-top:12px;padding:12px 14px;border-radius:12px;background:#0f172af2;border:1px solid rgba(148,163,184,.7);font-size:14px}.opp-card-title{display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:color .2s ease,transform .2s ease}.chevron{font-size:12px;color:#94a3b8;margin-left:8px}.opp-card-title:hover{color:#bfdbfe;transform:translateY(-1px)}.opp-detail-grid{margin-top:10px;display:grid;grid-template-columns:180px 1fr;gap:8px 12px}.opp-detail-row{display:contents}.opp-detail-label{font-weight:700;color:#bfdbfe;font-size:13px;line-height:1.4}.opp-detail-value{color:#e5e7eb;font-size:13px;line-height:1.5;word-break:break-word}.opp-detail-value.multiline{white-space:pre-wrap}.upload-card{margin-top:14px;padding:14px;border-radius:12px;background:#06213dd9;border:1px solid rgba(59,130,246,.4);box-shadow:0 10px 30px #0f172a80}.upload-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.upload-header h4{margin:0;color:#e5e7eb}.upload-header p{margin:2px 0 0;font-size:13px;color:#cbd5e1}.pill{padding:4px 10px;border-radius:999px;background:#3b82f626;color:#bfdbfe;font-weight:600;font-size:12px;border:1px solid rgba(59,130,246,.5)}.upload-drop{display:block;border:1.5px dashed rgba(148,163,184,.6);border-radius:12px;padding:14px;cursor:pointer;background:#0f172ab3;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.upload-drop:hover{border-color:#3b82f6cc;background:#0f172ae6}.upload-drop.dragging{border-color:#22c55ee6;background:#10b9811a;box-shadow:0 0 0 3px #22c55e33}.upload-drop input{display:none}.upload-drop-inner{display:flex;align-items:center;gap:12px;color:#e5e7eb}.upload-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#00b5ff,#0064ff);display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;box-shadow:0 10px 20px #3b82f673}.template-picker{display:flex;align-items:center;gap:8px}.template-select-label{display:flex;align-items:center;gap:8px;color:#e5e7eb;font-size:14px}.template-select{background:#0f172ad9;border:1px solid rgba(148,163,184,.6);border-radius:8px;padding:6px 10px;color:#e5e7eb;min-width:220px}.template-select:focus{outline:2px solid rgba(59,130,246,.7);outline-offset:1px}.upload-title{font-weight:600;font-size:14px}.upload-hint{font-size:12px;color:#94a3b8}.upload-actions{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.success-text{color:#86efac;font-size:13px}.error-text{color:#fecaca;font-size:13px;margin-top:8px}.parsed-table{margin-top:14px;border:1px solid rgba(148,163,184,.5);border-radius:12px;overflow:hidden;background:#020617b3}.parsed-scroll{overflow-x:auto}.parsed-scroll-inner{min-width:1200px}.parsed-table-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#0f172ab3;border-bottom:1px solid rgba(148,163,184,.4)}.parsed-actions{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(148,163,184,.15)}.parsed-actions.bottom-actions{border-top:1px solid rgba(148,163,184,.15);border-bottom:none;margin-top:10px}.parsed-title{color:#e5e7eb;font-weight:600}.parsed-sub{font-size:12px;color:#94a3b8}.parsed-table-grid{display:grid;grid-template-columns:.6fr .7fr 1fr 1fr 1fr 1.2fr 2fr .6fr 1fr 1fr 1fr .8fr 1fr 1fr;gap:8px;padding:10px 14px;align-items:start;color:#e5e7eb;font-size:13px;border-bottom:1px solid rgba(148,163,184,.15)}.parsed-table-grid:last-child{border-bottom:none}.parsed-col.heading{font-weight:700;color:#bfdbfe;font-size:12px}.parsed-col{word-break:break-word}.select-toggle{display:flex;gap:8px;align-items:center}.select-toggle-inline{display:flex;gap:6px;align-items:center;cursor:default}.select-inline{display:flex;align-items:center;gap:8px;padding:10px 14px 4px;font-size:12px;color:#bfdbfe;font-weight:700}.select-link{color:#bfdbfe;cursor:pointer;font-weight:600}.select-link:hover{text-decoration:underline}.divider{color:#94a3b8}.parsed-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 4px}.preview-grid{display:grid;gap:8px;padding:10px 14px;align-items:start;color:#e5e7eb;font-size:13px;border-bottom:1px solid rgba(148,163,184,.15)}.preview-year-row{padding:12px 14px 6px;color:#cbd5e1;font-weight:700;border-bottom:1px solid rgba(148,163,184,.2);background:#0f172a99}.preview-grid.header{font-weight:700;color:#bfdbfe;background:#0f172ab3}.preview-grid.totals-row{border-top:1px solid rgba(148,163,184,.4);background:#0f172a80}.preview-summary{display:flex;justify-content:flex-end;padding:10px 14px 6px;color:#e5e7eb;font-size:14px}.preview-summary .bold{font-weight:700}.summary-card{display:grid;grid-template-columns:auto auto;gap:4px 12px;background:#0f172ab3;border:1px solid rgba(148,163,184,.4);border-radius:10px;padding:10px 12px}.summary-label{font-weight:700;color:#bfdbfe}.summary-value{text-align:right}.discount-input-row{display:flex;align-items:center;gap:6px}.discount-input-row input{width:80px;padding:6px 8px;border-radius:8px;border:1px solid rgba(148,163,184,.5);background:#0f172ab3;color:#e5e7eb}.price-input{width:120px;padding:6px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.5);background:#0f172ab3;color:#e5e7eb}.discount-mode-row{display:flex;gap:18px;margin:0;padding:10px 14px;align-items:center;flex-wrap:wrap;background:#0f172ab3;border-top:1px solid rgba(148,163,184,.15);border-bottom:1px solid rgba(148,163,184,.15)}.discount-mode-option{display:flex;align-items:center;gap:10px;color:#bfdbfe;font-weight:700;font-size:13px}.discount-mode-option label{display:flex;align-items:center;gap:8px;color:inherit;font-weight:inherit}.discount-mode-option .hint{color:#94a3b8;font-size:12px;font-weight:400;margin-left:6px}.muted-text{color:#94a3b8;font-size:14px}.discount-mode-option input[type=radio]{accent-color:#38bdf8}.login-root{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#00b4ff40,#0f172a 70%),radial-gradient(circle at bottom right,#0066ff40,#0f172a 70%);animation:fadeIn .8s ease-out}.login-card{width:480px;padding:40px 48px;background:#1e293bd9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;box-shadow:0 8px 24px #00000073;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.login-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px #00b4ff66}.login-card .login-header h1{color:#fff;font-size:26px;margin-bottom:4px}.login-card .login-header p{color:#94a3b8;font-size:14px;margin-top:0}.bridgeit-logo.large{width:180px;height:auto;margin-bottom:12px}.error-text{color:#ff6b6b;margin-top:12px;font-size:14px}.login-footer{margin-top:12px;display:flex;justify-content:center;gap:6px;align-items:center}.status-label{color:#94a3b8}.status-pill.ok{background:#16a34a;padding:4px 10px;border-radius:8px;color:#fff;font-size:12px}.status-pill.error{background:#dc2626;padding:4px 10px;border-radius:8px;color:#fff;font-size:12px}.login-header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.google-btn-wrapper{width:100%;display:flex;justify-content:center;margin-top:12px;margin-bottom:12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.login-card{animation:fadeIn .6s ease-out}.login-top-logo{position:absolute;top:32px;left:32px;z-index:10}.bridgeit-top-logo{width:180px;height:auto;opacity:.95}
