:root{color-scheme:light;--fg: #14171a;--bg: #ffffff;--muted: #6b7280;--accent: #2563eb;--border: #e5e7eb;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--fg);background:var(--bg)}.nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.nav nav{display:flex;gap:1rem}.brand{font-weight:700;text-decoration:none;color:var(--fg)}main{max-width:860px;margin:0 auto;padding:2rem 1.5rem}.hero{text-align:center;padding:3rem 0}.cta-row{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.button{display:inline-block;padding:.6rem 1.2rem;background:var(--accent);color:#fff;border:none;border-radius:6px;text-decoration:none;cursor:pointer;font-size:1rem}.button-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.plans{display:flex;gap:1.5rem;flex-wrap:wrap}.plan-card{border:1px solid var(--border);border-radius:8px;padding:1.5rem;flex:1;min-width:220px}.price{font-size:1.5rem;font-weight:700}.form{display:flex;flex-direction:column;gap:1rem;max-width:360px}.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted)}.form input{padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:1rem}.card{border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-top:1.5rem}.card-warning{border-color:#f59e0b;background:#fffbeb}.offline-banner{background:#fef3c7;color:#92400e;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.mapping-row{display:flex;align-items:center;gap:.5rem;flex-direction:row!important;font-weight:400;margin-bottom:.4rem}.table-scroll{overflow-x:auto;margin-top:.5rem}.import-row-error{background:#fef2f2}textarea{font-family:inherit;padding:.5rem;border:1px solid var(--border);border-radius:6px}.error{color:#b91c1c}.success{color:#15803d}.muted{color:var(--muted);font-size:.9rem}.row-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.form-inline{flex-direction:row;flex-wrap:wrap;align-items:center;max-width:none}.form-inline input,.form-inline select{padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:1rem}.button-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:.9rem;text-decoration:underline}.button-tag{background:none;border:1px solid var(--border);border-radius:999px;padding:.25rem .75rem;font-size:.85rem;cursor:pointer;color:var(--muted);text-transform:capitalize}.button-tag-active{background:var(--accent);border-color:var(--accent);color:#fff}.badge{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;background:var(--border)}.badge-upcoming{background:#dbeafe;color:#1d4ed8}.badge-done{background:#dcfce7;color:#15803d}.badge-archived{background:#f3f4f6;color:var(--muted)}.event-list,.assignment-list,.timeline-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.event-list-item a{display:block;padding:1rem;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--fg)}.assignment-list li,.timeline-list li{padding:.75rem;border:1px solid var(--border);border-radius:8px}.timeline-item-done{opacity:.6}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:400;flex-direction:row!important}.vendor-table{width:100%;border-collapse:collapse;margin-top:1rem}.vendor-table th,.vendor-table td{text-align:left;padding:.6rem;border-bottom:1px solid var(--border)}.portal-page{max-width:480px;margin:0 auto}.portal-footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}.app-footer{margin-top:3rem;padding:1rem 1.5rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted);display:flex;gap:1rem;flex-wrap:wrap}.app-footer a{color:var(--muted)}.print-table{width:100%;border-collapse:collapse;margin-top:1rem}.print-table th,.print-table td{text-align:left;padding:.5rem;border:1px solid var(--border);vertical-align:top}@media print{.nav,.no-print{display:none!important}}
