:root{--bg:#f4f6fb;--card:#ffffff;--text:#1a2233;--muted:#64748b;--primary:#1d4ed8;--primary-dark:#1e40af;--accent:#0ea5e9;--success:#15803d;--success-bg:#dcfce7;--danger:#dc2626;--danger-bg:#fee2e2;--border:#e2e8f0;--radius:12px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;background-color:#f7f3f5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 4 L57 24 L74 18 L69 37 L89 39 L77 54 L91 64 L71 67 L74 89 L59 77 L50 94 L41 77 L26 89 L29 67 L9 64 L23 54 L11 39 L31 37 L26 18 L43 24 Z' fill='%23DA291C' fill-opacity='0.14'/%3E%3C/svg%3E"),linear-gradient(180deg,#fbe9e9,#f7f3f5 480px);background-repeat:no-repeat;background-position:center 110px;background-size:420px 420px,100% 100%}body:before{content:"";display:block;height:5px;background:linear-gradient(90deg,#da291c,#da291c 33%,#ffffff 0,#ffffff 66%,#da291c 0,#da291c)}.container{max-width:640px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top, 0px)) 16px calc(64px + env(safe-area-inset-bottom, 0px))}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(15,23,42,.06)}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 0 20px}.brand{font-size:20px;font-weight:800;letter-spacing:-.02em}.brand span{color:var(--primary)}h1{font-size:24px;margin:0 0 8px;letter-spacing:-.02em}h2{font-size:17px;margin:0 0 12px}p{line-height:1.55}.muted{color:var(--muted);font-size:14px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:16px}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat .label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.stat .value{font-size:30px;font-weight:800;letter-spacing:-.02em}.stat .value.small{font-size:22px}.progress-wrap{margin-top:8px}.progress-track{height:14px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--primary));border-radius:999px;transition:width .4s ease}.eligible-banner{background:var(--success-bg);color:var(--success);border:1px solid #bbf7d0;border-radius:var(--radius);font-weight:700}.eligible-banner,.notice-box{padding:14px 16px;margin-bottom:16px}.notice-box{background:#fffbeb;color:#92400e;border:2px solid #fcd34d;border-radius:var(--radius);font-weight:600;font-size:15px;line-height:1.45}.btn{display:inline-block;width:100%;padding:13px 16px;font-size:16px;font-weight:700;text-align:center;color:#fff;background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;text-decoration:none}.btn:hover{background:var(--primary-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:#f8fafc}.btn-danger{background:#fff;color:var(--danger);border:1px solid #fecaca;width:auto;padding:8px 14px;font-size:14px}.btn-danger:hover{background:var(--danger-bg)}.btn-small{width:auto;padding:8px 14px;font-size:14px}.link-row{display:flex;gap:10px;margin-top:12px}.field{margin-bottom:14px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field input,.field textarea{width:100%;padding:12px;font-size:16px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text)}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field textarea{resize:vertical;min-height:70px}.error-box{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca;border-radius:10px}.error-box,.success-box{padding:12px 14px;font-size:14px;margin-bottom:14px}.success-box{background:var(--success-bg);color:var(--success);border:1px solid #bbf7d0;border-radius:10px}.trip{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.trip:last-child{border-bottom:none}.trip-dates{font-weight:700;font-size:15px}.trip-loc,.trip-meta{color:var(--muted);font-size:13px;margin-top:4px}.trip-loc a{color:var(--primary);text-decoration:underline}.trip-notes{font-size:14px;margin-top:6px;color:var(--text)}.trip-days{flex-shrink:0;background:#eff6ff;color:var(--primary-dark);font-weight:800;font-size:13px;padding:6px 10px;border-radius:999px;white-space:nowrap}.trip-actions{display:flex;gap:8px;margin-top:8px}.auth-links{text-align:center;margin-top:16px;font-size:14px}.auth-links a{color:var(--primary);text-decoration:none;font-weight:600}.auth-links a:hover{text-decoration:underline}.footer-note{margin-top:28px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.6}.empty{text-align:center;padding:32px 16px;color:var(--muted)}.empty .big{font-size:40px;margin-bottom:8px}.top-actions{display:flex;gap:10px;margin-bottom:16px}.signout-form,.top-actions .btn{margin:0}.signout-form button{background:none;border:none;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;padding:8px 4px}.signout-form button:hover{color:var(--danger)}.border-crossing{border:2px solid var(--primary)}.crossing-buttons{display:flex;flex-direction:column;gap:10px;margin:12px 0}.btn-cross-out{background:var(--primary);font-size:18px;padding:16px}.btn-cross-back{background:var(--success);font-size:18px;padding:16px}.btn-cross-back:hover{background:#166534}.btn-cross-back:disabled{background:#94a3b8}.open-trip-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:14px 16px;margin-bottom:4px}.open-trip-title{font-weight:800;font-size:16px}.open-trip-sub{color:var(--muted);font-size:14px;margin-top:4px}.open-badge{display:inline-block;background:var(--primary);color:#fff;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;margin-left:8px;vertical-align:middle;letter-spacing:.05em}.report-meta{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;font-size:14px}.report-meta div{margin:3px 0}.report-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);margin-bottom:16px}.report-table td,.report-table th{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}.report-table thead th{background:#eef2f7;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}.report-table tbody tr:nth-child(2n) td{background:#f8fafc}.report-table .num{text-align:right;white-space:nowrap}@media print{body{background:#ffffff!important;color:#000000!important}.no-print,body:before{display:none!important}.container{max-width:100%;padding:0 0 16px}.card,.report-meta{box-shadow:none;page-break-inside:avoid;break-inside:avoid}.report-table{font-size:11px}.report-table td,.report-table th{border-color:#9aa3b2;color:#000}.report-table thead th{background:#e5e5e5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-table tbody tr:nth-child(2n) td{background:#f2f2f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}h1,h2{color:#000}.footer-note,.muted{color:#333}.footer-note{border-top-color:#9aa3b2}}.hero{position:relative;min-height:300px;display:flex;margin:calc(-16px - env(safe-area-inset-top, 0px)) -16px 0;padding:calc(14px + env(safe-area-inset-top, 0px)) 18px 96px;background:url(/images/hero.jpg) center 38%/cover no-repeat;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,38,.28),rgba(8,18,38,.05) 45%,rgba(8,18,38,.34))}.hero-flag{position:absolute;left:-46px;top:118px;width:170px;height:46px;background:#da291c;transform:rotate(-24deg);align-items:center;justify-content:flex-end;padding-right:22px;font-size:26px;box-shadow:0 4px 14px rgba(0,0,0,.28)}.hero-flag,.hero-top{z-index:1;display:flex}.hero-top{position:relative;align-items:flex-start;justify-content:space-between;width:100%}.hero-brand{display:flex;align-items:center;gap:10px;text-shadow:0 1px 0 rgba(255,255,255,.65),0 2px 14px rgba(255,255,255,.55)}.brand-truck{width:52px;height:34px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(255,255,255,.6))}.brand-text{font-size:30px;font-weight:800;line-height:1.02;letter-spacing:-.02em;color:#12305e}.brand-text em{font-style:normal;color:#2f7cf6}.hero .signout-form button{color:#12305e;font-size:16px;font-weight:700;text-shadow:0 1px 3px rgba(255,255,255,.7);padding:6px 2px}.hero .signout-form button:hover{color:#0b1e46}.cross-overlap{position:relative;z-index:2;margin:-70px 0 16px}.dash .notice-box~.cross-overlap{margin-top:0}.dash .border-crossing{border:none;border-radius:24px;box-shadow:0 12px 32px rgba(15,23,42,.14);padding:22px 20px}.cross-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.cross-pin{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#1d4ed8;font-size:22px;flex-shrink:0}.dash .border-crossing h2{margin:0;font-size:21px;letter-spacing:-.01em}.cross-desc{color:#7c8aa5;font-size:15.5px;line-height:1.5;margin:0 0 4px}.dash .btn-cross-back,.dash .btn-cross-out{border-radius:20px;padding:21px 52px 21px 20px;font-size:21px;display:flex;align-items:center;justify-content:center;gap:12px;position:relative;width:100%}.dash .btn-cross-out{background:linear-gradient(180deg,#2f7cf6,#1d4ed8);box-shadow:0 8px 20px rgba(29,78,216,.35)}.dash .btn-cross-out:hover{background:linear-gradient(180deg,#2563eb,#1e40af)}.cross-btn-flag{font-size:30px;line-height:1}.dash .btn-cross-back .chev,.dash .btn-cross-out .chev{position:absolute;right:20px;top:50%;transform:translateY(-54%);font-size:30px;font-weight:400;opacity:.9}.dash .btn-cross-back{background:#eef2f7;color:#12305e;box-shadow:none}.dash .btn-cross-back:hover{background:#e2e8f0}.dash .btn-cross-back:not(:disabled){background:var(--success);color:#fff;box-shadow:0 8px 20px rgba(21,128,61,.3)}.dash .btn-cross-back:not(:disabled):hover{background:#166534}.cross-div{border:none;border-top:1px solid var(--border);margin:18px 0 12px}.cross-tip{color:#7c8aa5;font-size:14.5px;line-height:1.5;margin:0}.cross-tip strong{color:#5b6b86}.count-card{border-radius:24px;overflow:hidden;margin-bottom:16px;background:linear-gradient(160deg,#0b1e46,#12306e 58%,#1a3f8f);color:#fff;box-shadow:0 12px 32px rgba(11,30,70,.32)}.count-head{padding:22px 22px 4px}.count-title{font-size:29px;font-weight:800;letter-spacing:-.01em}.count-sub{color:rgba(255,255,255,.82);font-size:15px;margin-top:8px}.count-panel{background:#fff;color:var(--text);border-radius:26px;margin:16px 10px 10px;padding:14px 10px;display:flex;align-items:center;gap:10px}.ring-wrap{position:relative;width:112px;height:112px;flex-shrink:0}.ring{width:100%;height:100%}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-num{font-size:38px;font-weight:800;letter-spacing:-.02em;line-height:1;color:#12305e}.ring-label{font-size:12px;letter-spacing:.22em;color:var(--muted);margin-top:4px;font-weight:600}.ring-leaf{font-size:15px;margin-top:3px}.count-tiles{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;flex:1 1;min-width:0}.tile{background:#f1f5fb;border-radius:16px;padding:10px 8px;min-width:0}.tile-label{font-size:9px;font-weight:700;letter-spacing:.03em;color:#7c8aa5;line-height:1.4}.tile-num{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:2px;line-height:1.1;color:#12305e}.tile-blue{color:#2f7cf6}.tile-sub{font-size:11.5px;color:#7c8aa5;margin-top:2px;line-height:1.35}@media (max-width:360px){.count-panel{flex-direction:column}.count-tiles{width:100%}}.progress-card{border-radius:24px}.progress-card h2{font-size:24px;letter-spacing:-.01em}.pbar{position:relative;height:18px;background:#e8eef7;margin:16px 0 14px}.pbar,.pfill{border-radius:999px}.pfill{left:0;top:0;bottom:0;min-width:18px;background:linear-gradient(90deg,#2f7cf6,#1d4ed8)}.pfill,.pknob{position:absolute}.pknob{right:-3px;top:50%;transform:translateY(-50%);width:24px;height:24px;background:#2f7cf6;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(29,78,216,.45)}.ptext{font-size:15px;color:var(--muted);margin-bottom:12px}.ptext strong{font-size:21px;color:#12305e;letter-spacing:-.01em}.ddt-divider{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;margin:26px -16px 0;padding:34px 16px;font-size:26px;background:linear-gradient(180deg,rgba(244,246,251,.82),rgba(244,246,251,.68)),url(/images/hero.jpg) center 72% /cover no-repeat}.ddt-sep{color:#94a3b8;font-weight:300}.ddt-divider:after,.ddt-divider:before{content:"";width:72px;height:2px;background:#b6c2d2;border-radius:2px}@media print{.hero{display:none}.cross-overlap{margin-top:0}}.page-head{padding:8px 0 16px}.back-link{display:inline-block;color:var(--primary);font-weight:700;font-size:14px;text-decoration:none;margin-bottom:8px}.back-link:hover{text-decoration:underline}.smart-alerts{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.smart-alert{border-radius:14px;padding:13px 16px;font-size:14.5px;font-weight:600;line-height:1.45}.alert-warn{background:#fffbeb;border:2px solid #fcd34d;color:#92400e}.alert-good{background:var(--success-bg);border:2px solid #86efac;color:var(--success)}.cal-card{border-radius:20px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-title{font-size:18px;font-weight:800}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-weekdays{margin-bottom:4px}.cal-weekday{text-align:center;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 0}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:600;border-radius:10px;min-height:38px}.cal-in{background:#dcfce7;color:#166534}.cal-out{background:#fecaca;color:#991b1b}.cal-untracked{background:#f1f5f9;color:#b6c2d2}.cal-future{background:#f8fafc;color:#cbd5e1;border:1px dashed #e2e8f0}.cal-blank{background:transparent}.cal-legend{display:flex;gap:14px;margin:14px 0 10px;font-size:13px;color:var(--muted);flex-wrap:wrap}.cal-legend .dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:baseline}.dot-in{background:#22c55e}.dot-out{background:#ef4444}.dot-untracked{background:#cbd5e1}.stat-tiles{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:16px}.stat-tile{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 1px 3px rgba(15,23,42,.06)}.stat-tile-label{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--muted)}.stat-tile-num{font-size:32px;font-weight:800;letter-spacing:-.02em;margin-top:4px}.stat-tile-unit{font-size:15px;font-weight:600;color:var(--muted)}.stats-table{width:100%;border-collapse:collapse;font-size:14px}.stats-table td,.stats-table th{padding:10px 4px;border-bottom:1px solid var(--border);text-align:left}.stats-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.stats-table tbody tr:last-child td{border-bottom:none}.stats-table .num{text-align:right;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.offline-note{background:#eff6ff;border:2px solid #93c5fd;color:#1e40af;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.45}.offline-note,.pending-bar{font-weight:600;margin-bottom:12px}.pending-bar{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;border-radius:10px;padding:10px 14px;font-size:13.5px}.pending-mini{font-weight:700;color:#b45309}body.auth-hero{background-color:#eef4fb;background-image:none}body.auth-hero:before{display:none}.login-page{min-height:100dvh;display:flex;flex-direction:column;max-width:640px;margin:0 auto}.login-hero{position:relative;min-height:320px;padding:calc(14px + env(safe-area-inset-top)) 22px 70px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.5) 36%,rgba(255,255,255,.1) 58%,rgba(255,255,255,0) 78%),url(/images/hero.jpg) center 32% /cover no-repeat}.login-brand{display:flex;align-items:center;gap:10px;max-width:100%}.login-brand-name{font-size:26px;font-weight:800;line-height:1.04;color:#16294d;letter-spacing:-.3px;min-width:0}.login-brand-name span{display:block;color:#1f6feb}.login-tagline{margin:10px 0 0 2px;font-size:16px;font-weight:600;color:#ffffff;text-shadow:0 1px 3px rgba(20,40,70,.6),0 2px 12px rgba(20,40,70,.4)}.login-card{position:relative;z-index:1;background:#ffffff;border-radius:28px;margin:-52px 16px 0;padding:26px 22px 24px;box-shadow:0 18px 44px rgba(20,45,90,.14)}.login-welcome{gap:15px;margin-bottom:22px}.login-avatar,.login-welcome{display:flex;align-items:center}.login-avatar{width:66px;height:66px;flex-shrink:0;border-radius:50%;background:#e8f1fd;justify-content:center}.login-welcome h1{margin:0 0 5px;font-size:29px;font-weight:800;color:#101f3c;letter-spacing:-.3px}.login-welcome p{margin:0;font-size:15px;color:#5b6b85;line-height:1.4}.login-field{margin-bottom:18px}.login-field label{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#16294d;margin-bottom:9px}.login-field input{width:100%;height:57px;border:1.5px solid #dfe7f2;border-radius:16px;background:#fbfdff;padding:0 16px;font-size:16px;color:#101f3c;outline:none;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:#a5b3c7}.login-field input:focus{border-color:#2f7de1;box-shadow:0 0 0 3px rgba(47,125,225,.16);background:#ffffff}.login-password-wrap{position:relative}.login-password-wrap input{padding-right:52px}.login-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;padding:8px;line-height:0}.login-btn,.login-eye{border:none;cursor:pointer}.login-btn{width:100%;height:59px;margin-top:6px;border-radius:16px;background:linear-gradient(180deg,#2f7de1,#1c5fd6);color:#ffffff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 22px rgba(31,95,214,.35)}.login-btn:disabled{opacity:.7;cursor:default}.login-btn:not(:disabled):active{transform:scale(.99)}.login-forgot{display:block;text-align:center;margin-top:20px;font-size:16px;font-weight:600;color:#1f6feb;text-decoration:none}.login-divider{display:flex;align-items:center;gap:14px;margin:20px 0 14px;color:#8a97ab;font-size:15px}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:#e2e9f2}.login-create{display:flex;align-items:center;justify-content:center;gap:8px;font-size:17px;font-weight:700;color:#1f6feb;text-decoration:none;padding:6px 0 2px}.login-footer{margin-top:auto;text-align:center;padding:30px 20px calc(26px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(238,244,251,0),#dbe7f6 78%)}.login-footer p{margin:10px 0 0;font-size:16px;color:#8a97ab}.login-footer p span{margin:0 6px}@media (min-width:560px){.login-card{margin-left:32px;margin-right:32px}}.csv-modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(10,25,50,.55);display:flex;align-items:center;justify-content:center;padding:20px}.csv-modal{background:#ffffff;border-radius:18px;padding:20px;width:100%;max-width:520px;box-shadow:0 24px 60px rgba(10,25,50,.3)}.csv-modal h3{margin:0 0 6px;font-size:19px;color:#101f3c}.csv-modal .muted{margin:0 0 12px;font-size:14px}.csv-modal textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;border:1.5px solid #dfe7f2;border-radius:12px;padding:10px;background:#fbfdff;color:#101f3c;resize:vertical}.csv-modal-actions{display:flex;gap:10px;margin-top:12px}.csv-modal-actions .btn{flex:1 1}.cit-header{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#0a1f44,#14306b);color:#ffffff;border-radius:14px;padding:18px 20px;margin:12px 0 16px}.cit-header h1{margin:0 0 4px;font-size:22px;color:#ffffff}.cit-header p{margin:0;font-size:13px;color:rgba(255,255,255,.82)}.cit-header-flag{font-size:34px;line-height:1;flex-shrink:0}.cit-applicant{margin-bottom:16px}.cit-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 2px;border-bottom:1px solid var(--border)}.cit-row:last-child{border-bottom:none}.cit-label{font-weight:600;color:var(--muted);font-size:14px}.cit-value{font-weight:700;font-size:15px;text-align:right}.cit-section-title{margin:20px 0 10px;font-size:19px}.cit-table{margin-bottom:20px}.cit-summary{margin-bottom:16px;border:1px solid #bfe3c9;background:#f4faf5}.cit-status{margin-top:10px;border-radius:10px;padding:12px 14px;font-weight:700;font-size:15px}.cit-status-ok{background:#d9f0de;color:#166534}.cit-status-pending{background:#fef3c7;color:#92400e}.cit-generated{text-align:center;font-size:12px;color:var(--muted);margin:14px 0 8px}@media print{.cit-header,.cit-status-ok,.cit-status-pending,.cit-summary{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.partners-page{min-height:100dvh;background:#f1f5f9}.partners-hero{background:#0b1f3f;color:#fff;text-align:center;padding:2.75rem 1.25rem 5.5rem;position:relative}.partners-hero h1{margin:0 0 .35rem;font-size:1.9rem;font-weight:800}.partners-hero p{margin:0;color:#a9bcd8;font-size:1.02rem}.partners-back{position:absolute;top:calc(.75rem + env(safe-area-inset-top, 0px));left:.75rem;z-index:2;display:inline-block;padding:.65rem .9rem;color:#a9bcd8;text-decoration:none;font-size:.95rem;min-height:44px;min-width:44px}.partners-back:hover{color:#fff}.partners-cards{max-width:560px;margin:-4rem auto 0;padding:0 1.25rem;display:grid;grid-gap:1.25rem;gap:1.25rem;position:relative;z-index:1}.partners-card{background:#fff;border-radius:1.25rem;padding:1.6rem 1.5rem;box-shadow:0 10px 30px rgba(11,31,63,.12)}.partners-card h2{margin:0 0 .9rem;font-size:1.25rem;color:#0b1f3f}.partners-card ul{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;grid-gap:.6rem;gap:.6rem}.partners-card li{padding-left:1.6rem;position:relative;color:#334155;font-size:.98rem}.partners-card li:before{content:"✓";position:absolute;left:0;color:#2563eb;font-weight:800}.partners-btn-outline,.partners-btn-solid{display:block;text-align:center;border-radius:.9rem;padding:.85rem;font-weight:700;font-size:1.02rem;text-decoration:none}.partners-btn-outline{border:2px solid #0b1f3f;color:#0b1f3f;background:#fff}.partners-btn-solid{background:#0b1f3f;color:#fff;border:2px solid #0b1f3f}.partners-contact{text-align:center;margin:1.75rem 0 .5rem;color:#475569}.partners-contact a{color:#0b1f3f;font-weight:600}.partners-copy{text-align:center;color:#94a3b8;font-size:.85rem;padding-bottom:2.5rem}.login-partners{margin-top:.4rem;font-size:.9rem}.login-partners a{color:#a9bcd8;text-decoration:underline}.milestone-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(11,31,63,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:milestone-fade .35s ease-out}@keyframes milestone-fade{0%{opacity:0}to{opacity:1}}.milestone-card{position:relative;overflow:hidden;background:#fff;border-radius:1.5rem;max-width:420px;width:100%;padding:2.5rem 1.75rem 1.75rem;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:milestone-pop .45s cubic-bezier(.34,1.4,.64,1)}@keyframes milestone-pop{0%{transform:scale(.85) translateY(24px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.milestone-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.milestone-confetti-piece{position:absolute;top:-20px;display:block;animation-name:milestone-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes milestone-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(560px) rotate(2turn);opacity:.6}}.milestone-trophy{font-size:3.2rem;animation:milestone-bounce 1.2s ease-in-out infinite}@keyframes milestone-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.milestone-number{font-size:4.2rem;font-weight:900;color:#0b1f3f;line-height:1;margin-top:.25rem;letter-spacing:-.02em}.milestone-title{font-size:1.7rem;font-weight:800;color:#0b1f3f;margin-top:.15rem}.milestone-sub{color:#475569;font-size:1rem;margin:.8rem 0 0}.milestone-bar{height:.9rem;background:#e2e8f0;border-radius:999px;margin-top:1.25rem;overflow:hidden}.milestone-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#14b8a6,#2563eb);transition:width 1s ease-out}.milestone-bar-labels{display:flex;justify-content:space-between;color:#64748b;font-size:.85rem;margin-top:.3rem}.milestone-share{width:100%;margin-top:1.25rem;background:#2563eb;border:none;color:#fff;font-weight:700;font-size:1.05rem;padding:.9rem;border-radius:.9rem;cursor:pointer}.milestone-continue{margin-top:.8rem;background:none;border:none;color:#2563eb;font-size:1rem;text-decoration:underline;cursor:pointer;padding:.4rem 1rem}.delete-account{margin:1.5rem auto 2.5rem;max-width:560px;text-align:center}.delete-account-link{background:none;border:none;color:#94a3b8;font-size:.85rem;text-decoration:underline;cursor:pointer;padding:.6rem 1rem;min-height:44px}.delete-account-confirm{background:#fef2f2;border:1px solid #fecaca;border-radius:.9rem;padding:1.1rem}.delete-account-confirm p{color:#7f1d1d;font-size:.95rem;margin:0 0 .9rem}.delete-account-actions{display:flex;gap:.75rem;justify-content:center}.delete-account-yes{background:#dc2626;border:none;color:#fff;font-weight:700;border-radius:.7rem}.delete-account-no,.delete-account-yes{font-size:.95rem;padding:.7rem 1.2rem;cursor:pointer;min-height:44px}.delete-account-no{background:#fff;border:1px solid #cbd5e1;color:#334155;border-radius:.7rem}.delete-account-error{color:#dc2626;font-size:.9rem;margin-top:.6rem}