@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;1,9..144,400&family=DM+Sans:wght@400;500;600&display=swap";:root{--bg-color: #f4f4f5;--surface-color: #ffffff;--surface-hover: #fafafa;--text-main: #18181b;--text-muted: #71717a;--text-inverse: #ffffff;--border-color: #e4e4e7;--border-focus: #18181b;--primary: #18181b;--primary-hover: #27272a;--primary-text: #ffffff;--success-bg: #ecfdf5;--success-text: #065f46;--success-border: #a7f3d0;--danger-bg: #fef2f2;--danger-text: #991b1b;--danger-border: #fecaca;--warning-bg: #fffbeb;--warning-text: #92400e;--warning-border: #fde68a;--font-heading: "Fraunces", serif;--font-body: "DM Sans", sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition: .2s cubic-bezier(.4, 0, .2, 1)}@media(prefers-color-scheme:dark){:root{--bg-color: #09090b;--surface-color: #18181b;--surface-hover: #27272a;--text-main: #f4f4f5;--text-muted: #a1a1aa;--text-inverse: #18181b;--border-color: #27272a;--border-focus: #f4f4f5;--primary: #f4f4f5;--primary-hover: #e4e4e7;--primary-text: #18181b;--success-bg: #064e3b;--success-text: #34d399;--success-border: #065f46;--danger-bg: #7f1d1d;--danger-text: #f87171;--danger-border: #991b1b;--warning-bg: #78350f;--warning-text: #fbbf24;--warning-border: #92400e;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5)}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--text-main)}h1{font-size:2.5rem;letter-spacing:-.02em}h2{font-size:1.75rem;letter-spacing:-.01em}h3{font-size:1.25rem}p{color:var(--text-muted)}a{color:var(--text-main);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--text-muted)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;transition:all var(--transition)}button:disabled{opacity:.5;cursor:not-allowed}input,select{font-family:var(--font-body);background-color:var(--surface-color);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.5rem .75rem;font-size:.95rem;transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.app-shell{max-width:1024px;margin:0 auto;padding:2rem;width:100%;flex:1;display:flex;flex-direction:column;gap:2rem}.shell-header{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.shell-header h1{margin-bottom:.5rem}.header-actions{display:flex;gap:1rem;align-items:center}.route-nav{display:flex;gap:1rem;border-bottom:1px solid var(--border-color);padding-bottom:0;margin-bottom:1rem}.route-link{padding:.75rem 1rem;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.route-link:hover{color:var(--text-main)}.route-link.active{color:var(--text-main);border-bottom-color:var(--primary)}.btn-primary{background-color:var(--primary);color:var(--primary-text);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--surface-color);color:var(--text-main);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-secondary:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--text-muted)}.btn-danger{background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500}.btn-danger:hover:not(:disabled){background-color:var(--danger-border)}.btn-icon{padding:.25rem;border-radius:var(--radius-sm);color:var(--text-muted)}.btn-icon:hover:not(:disabled){background-color:var(--surface-hover);color:var(--text-main)}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.summary-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem;transition:transform var(--transition),box-shadow var(--transition)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-card h2{font-size:1rem;font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.summary-card p{font-size:1.5rem;font-weight:600;color:var(--text-main);font-family:var(--font-heading)}.summary-card small{font-size:.85rem;color:var(--text-muted)}.section-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1.5rem}.section-header{display:flex;flex-direction:column;gap:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.item-list{display:flex;flex-direction:column;gap:1rem;list-style:none}.item-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;background-color:var(--surface-color)}.item-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.item-card-title{display:flex;flex-direction:column;gap:.25rem}.item-card-title strong{font-size:1.1rem;color:var(--text-main)}.item-card-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-success{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.status-warning{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.status-danger{background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.status-neutral{background-color:var(--bg-color);color:var(--text-muted);border:1px solid var(--border-color)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-main)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:var(--text-main)}.checkbox-label input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--primary);cursor:pointer}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.calendar-grid{display:grid;gap:1rem}.calendar-grid.month{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-grid.week{grid-template-columns:1fr}.calendar-day{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;min-height:150px;display:flex;flex-direction:column;gap:.75rem}.calendar-day-header{font-family:var(--font-heading);font-size:1.1rem;color:var(--text-main);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.event-list{display:flex;flex-direction:column;gap:.5rem;list-style:none}.event-card{background-color:var(--bg-color);border:1px solid var(--border-color);border-left:3px solid var(--primary);border-radius:var(--radius-md);padding:.75rem;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}.event-card.deleted{opacity:.6;border-left-color:var(--danger-text);text-decoration:line-through}.event-time{font-weight:600;color:var(--text-main)}.event-details{display:flex;flex-direction:column;gap:.25rem}.event-route{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);background-color:var(--surface-color);padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.event-route-arrow{color:var(--primary)}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(0,0,0,.1);border-left-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-bar{width:100%;height:6px;background-color:var(--border-color);border-radius:999px;overflow:hidden;margin-top:.5rem}.progress-fill{height:100%;background-color:var(--primary);transition:width .3s ease}@media(max-width:768px){.app-shell{padding:1rem;margin:0}.shell-header{flex-direction:column;align-items:flex-start}.calendar-grid.month{grid-template-columns:repeat(1,minmax(0,1fr))}.item-card-header{flex-direction:column}}.text-danger{color:var(--danger-text)}.text-success{color:var(--success-text)}.text-warning{color:var(--warning-text)}.text-muted{color:var(--text-muted)}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.account-card,.safety-card,.danger-card,.calendar-selection-card,.sync-pair-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.account-card header,.safety-card header,.danger-card header{display:flex;flex-direction:column;gap:.35rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.account-card ul,.calendar-selection-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.account-card li{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-hover);padding:.75rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.account-card li span{display:flex;flex-direction:column;gap:.25rem}.account-actions,.account-actions-inline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.refresh-button,.link-button,.danger-button{border-radius:var(--radius-md);border:1px solid var(--border-color);padding:.5rem .8rem;font-size:.92rem;font-weight:600;display:inline-flex;align-items:center;gap:.45rem;transition:transform var(--transition),background-color var(--transition),border-color var(--transition),color var(--transition)}.refresh-button{background:var(--primary);color:var(--primary-text);border-color:transparent}.refresh-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.link-button{background:var(--surface-color);color:var(--text-main)}.link-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-muted)}.danger-button{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.helper-text{color:var(--text-muted)}.loading-inline{display:inline-flex;align-items:center;gap:.5rem}.pair-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;align-items:end}.pair-form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;color:var(--text-muted)}.sync-progress{margin-top:.7rem}.sync-progress-fill{height:8px;border-radius:999px;background:linear-gradient(90deg,#1f6feb,#2ea043)}.calendar-day-cell{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.9rem;min-height:150px}.event-targets{display:flex;flex-wrap:wrap;gap:.4rem}.event-target-pill{display:inline-flex;align-items:center;border:1px solid var(--border-color);background:var(--surface-color);border-radius:999px;padding:.15rem .55rem;font-size:.78rem;color:var(--text-main)}.account-ok{border-color:var(--success-border);background:color-mix(in oklab,var(--success-bg) 65%,var(--surface-color))}.account-reauth{border-color:var(--warning-border);background:color-mix(in oklab,var(--warning-bg) 70%,var(--surface-color))}.account-error,.danger-result{color:var(--danger-text)}.primary-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.1rem .5rem;font-size:.74rem;font-weight:700;margin-left:.35rem;background:var(--surface-hover);border:1px solid var(--border-color)}
