:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,[data-theme=light]{color-scheme:light;--text: #18181b;--muted: #71717a;--bg: #fafafa;--card-bg: #fff;--border: #e5e5e7;--link: #3b82f6;--tag-bg: #f4f4f5;--tag-text: #3f3f46;--btn-bg: #fff;--btn-hover: #f4f4f5;--btn-text: #18181b;--danger-bg: #fef2f2;--danger-text: #dc2626;--danger-border: #fecaca;--radius: 8px;--radius-sm: 6px;--bucket-bg: rgba(255, 255, 255, .95);--bucket-border: rgba(0, 0, 0, .08);--bucket-shadow: 0 2px 12px rgba(0, 0, 0, .08);--input-bg: #fff}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg);color:var(--text)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}[data-theme=dark]{color-scheme:dark;--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .55);--bg: #1a1a1e;--card-bg: #222226;--border: #2e2e32;--link: #6b8cff;--tag-bg: #2d2d34;--tag-text: rgba(255, 255, 255, .88);--btn-bg: #2a2a2e;--btn-hover: #35353a;--btn-text: rgba(255, 255, 255, .92);--danger-bg: #3d2020;--danger-text: #f08080;--danger-border: #5a3030;--bucket-bg: rgba(22, 22, 28, .75);--bucket-border: rgba(100, 140, 255, .15);--bucket-shadow: 0 4px 24px rgba(0, 0, 0, .25);--input-bg: #2a2a2e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .55);--bg: #1a1a1e;--card-bg: #222226;--border: #2e2e32;--link: #6b8cff;--tag-bg: #2d2d34;--tag-text: rgba(255, 255, 255, .88);--btn-bg: #2a2a2e;--btn-hover: #35353a;--btn-text: rgba(255, 255, 255, .92);--danger-bg: #3d2020;--danger-text: #f08080;--danger-border: #5a3030;--bucket-bg: rgba(22, 22, 28, .75);--bucket-border: rgba(100, 140, 255, .15);--bucket-shadow: 0 4px 24px rgba(0, 0, 0, .25);--input-bg: #2a2a2e}}#root{max-width:900px;margin:0 auto;padding:1.5rem;min-height:100vh;box-sizing:border-box}main{max-width:100%;overflow-x:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;margin:-1.5rem -1.5rem 0;padding:1.5rem 0 2rem;border-bottom:none;background:transparent}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--muted)}.auth-screen{text-align:center;padding:3rem 1.5rem}.auth-logo-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.auth-logo-icon{height:4.5rem;width:auto}.auth-logo-text{font-size:3.75rem;font-weight:700;letter-spacing:-.03em;color:transparent;background:linear-gradient(135deg,#ff6b35,#f7931e,#ffb347);-webkit-background-clip:text;background-clip:text;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-header-logo-row{display:flex;align-items:center;gap:.75rem}.app-header-logo-icon{height:3.25rem;width:auto}.app-header-logo-text{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;color:transparent;background:linear-gradient(135deg,#ff6b35,#f7931e,#ffb347);-webkit-background-clip:text;background-clip:text;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-subtitle{color:var(--muted);font-size:1.1rem;margin:0 0 2rem}.auth-google-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem}.auth-signout-btn{font-size:.85rem;padding:.4rem .8rem}.app-header-title{margin:0;font-size:2.5rem;font-weight:700;letter-spacing:-.03em;color:transparent;background:linear-gradient(135deg,#ff6b35,#f7931e,#ffb347);-webkit-background-clip:text;background-clip:text;text-shadow:0 0 40px rgba(255,107,53,.3);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-nav-buttons{display:flex;align-items:center;gap:.5rem;margin-top:1rem;margin-bottom:1.5rem}.app-nav-buttons .nav-btn{display:inline-block;padding:.5rem 1rem;border-radius:9999px;border:1px solid var(--border);background:var(--bucket-bg, var(--card-bg));color:var(--text);font-size:.9rem;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s}.app-nav-buttons .nav-btn:hover{border-color:var(--link);background:var(--btn-hover);color:var(--link)}.dashboard-events li{padding:.75rem 0}.page-title{margin:0 0 1rem;font-size:1.25rem}.summary-bar{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;border-radius:var(--radius);background:var(--bucket-bg, rgba(22, 22, 28, .6));border:1px solid var(--bucket-border, var(--border));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.9rem;color:var(--muted)}.summary-item{color:inherit}.summary-link{color:var(--link)}.summary-link:hover{text-decoration:underline}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.filters label{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.filters select,.filters input[type=search]{padding:.4rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--bucket-border, var(--border));background:var(--input-bg, var(--card-bg));color:var(--text);font-size:.875rem;-webkit-appearance:none;appearance:none}.search-input{min-width:140px}.people-list{list-style:none;padding:0;margin:0}.person-card{display:block;padding:1rem 1.25rem;margin-bottom:.5rem;border-radius:var(--radius);border:1px solid var(--bucket-border, var(--border));background:var(--bucket-bg, var(--card-bg));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--bucket-shadow, 0 2px 8px rgba(0, 0, 0, .15));text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}.person-card:hover{border-color:#6b8cff66;box-shadow:0 4px 20px #6b8cff1a}.person-card-header{display:flex;justify-content:flex-start;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.person-card-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--tag-bg);display:flex;align-items:center;justify-content:center}.person-card-avatar-img{width:100%;height:100%;object-fit:cover}.person-card-avatar-initial{font-size:1.1rem;font-weight:600;color:var(--muted)}.person-card-body{flex:1;min-width:0}.person-card-name{margin:0;font-size:1.1rem;font-weight:600}.person-card-contact{font-size:.9rem;font-weight:400;display:inline-flex;align-items:center;gap:.5rem}.contact-separator{font-size:1.25em;color:var(--muted);line-height:1;margin:0 .15rem}.person-card-meta{font-size:.85rem;color:var(--muted);margin-top:.35rem}.person-card-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.tag{font-size:.75rem;padding:.2rem .5rem;border-radius:4px;background:var(--tag-bg);color:var(--tag-text)}.tag-due{background:var(--danger-bg);color:var(--danger-text)}.tag-vip{background:#4a3a20;color:#f5d88a}.tag-archived{background:var(--muted);color:var(--bg);opacity:.9}@media(prefers-color-scheme:light){.tag-vip{background:#f5e6b8;color:#6b5a2e}}.dashboard-section{margin-bottom:1.5rem;padding:1.25rem;border-radius:12px;border:1px solid var(--bucket-border, var(--border));background:var(--bucket-bg, var(--card-bg));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--bucket-shadow, 0 4px 20px rgba(0, 0, 0, .2))}.dashboard-section h2{margin:0 0 1rem;font-size:1rem;font-weight:600;letter-spacing:-.01em}.dashboard-vip{border-left:3px solid rgba(245,216,138,.8)}.btn{padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--btn-bg);color:var(--btn-text);font-size:.875rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.btn:hover{background:var(--btn-hover)}.btn-primary{background:var(--link);color:#fff;border-color:var(--link)}.btn-primary:hover{filter:brightness(1.08)}.btn-danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.btn-danger:hover{filter:brightness(.95)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text)}.form-group input,.form-group select,.form-group textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:2.75rem;padding:.625rem .875rem;border-radius:var(--radius-sm);border:1px solid var(--bucket-border, var(--border));background:var(--input-bg, var(--card-bg));color:var(--text);font-size:.9375rem;font-family:inherit;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.form-group input,.form-group select,.form-group textarea{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}@supports (-webkit-touch-callout: none){.form-group input:-webkit-autofill,.form-group input:-webkit-autofill:hover,.form-group input:-webkit-autofill:focus,.form-group input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 30px var(--card-bg) inset;transition:background-color 5000s ease-in-out 0s}}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 3px #6b8cff26}.form-group textarea{min-height:5rem;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted)}.filters input[type=search]::placeholder{color:var(--muted)}.checkbox-row{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem;cursor:pointer;font-size:.9rem;color:var(--text)}.checkbox-row input[type=checkbox]{width:1.125rem;height:1.125rem;margin:0;accent-color:var(--link);cursor:pointer;flex-shrink:0}.checkbox-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:1rem;border-radius:var(--radius-sm);background:var(--bucket-bg, rgba(34, 34, 38, .6));border:1px solid var(--bucket-border, var(--border));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.checkbox-group .checkbox-row{margin-bottom:0}form .form-group:last-of-type{margin-bottom:1rem}.detail-header{margin-bottom:1.75rem;max-width:100%}.detail-header form,.detail-header-bucket,.add-person-form{padding:1.5rem;border-radius:12px;background:var(--bucket-bg, var(--card-bg));border:1px solid var(--bucket-border, var(--border));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--bucket-shadow, 0 4px 24px rgba(0, 0, 0, .2))}.detail-header form,.detail-header .form-group{max-width:100%}.detail-header h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.detail-header-top{display:flex;gap:1.5rem;flex-wrap:wrap}.person-avatar-section{flex-shrink:0}.person-avatar-wrap{margin-bottom:.5rem}.person-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.person-avatar.placeholder{width:80px;height:80px;border-radius:50%;background:var(--tag-bg);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;border:2px solid var(--border)}.person-avatar-actions{display:flex;flex-direction:column;gap:.25rem}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.detail-header-main{flex:1;min-width:0}.detail-header-name-row{display:flex;justify-content:flex-start;align-items:center;gap:.75rem;flex-wrap:wrap}.detail-header-name-row h1{margin:0 0 .5rem}.detail-contact{font-size:.95rem;font-weight:400;display:inline-flex;align-items:center;gap:.5rem}.phone-link{color:var(--link);text-decoration:none}.phone-link:hover,.email-link:hover{text-decoration:underline}.email-link{color:var(--link);text-decoration:none}.detail-meta{font-size:.875rem;color:var(--muted);line-height:1.5}.section{margin-bottom:1.5rem;padding:1.25rem;border-radius:12px;background:var(--bucket-bg, var(--card-bg));border:1px solid var(--bucket-border, var(--border));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--bucket-shadow, 0 4px 24px rgba(0, 0, 0, .2));box-sizing:border-box;overflow:hidden}.section form,.section .form-group{max-width:100%}.section h2{margin:0 0 1rem;font-size:1rem;font-weight:600;letter-spacing:-.01em}.quick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.quick-actions-inline{display:inline-flex;align-items:center}.inline-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted);cursor:default}.inline-label input[type=date]{padding:.4rem .5rem;width:auto;font-size:.875rem;background:var(--input-bg, var(--card-bg));color:var(--text);border:1px solid var(--bucket-border, var(--border));border-radius:var(--radius-sm);-webkit-appearance:none;appearance:none}.timeline-list,.reminder-list,.event-list{list-style:none;padding:0;margin:0}.timeline-list li,.reminder-list li,.event-list li{padding:.6rem 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 7rem auto;align-items:center;gap:.5rem}.timeline-list li:last-child,.reminder-list li:last-child,.event-list li:last-child{border-bottom:none}.list-date{font-size:.85rem;color:var(--muted);text-align:right}.list-date-today{color:#ef4444;font-weight:600}.list-date-tomorrow{color:#f97316;font-weight:600}.empty-state{color:var(--muted);font-size:.9rem;padding:1rem 0}.install-prompt{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);max-width:90%;z-index:1000;padding:1rem 1.25rem;border-radius:var(--radius);background:var(--bucket-bg);border:1px solid var(--bucket-border);box-shadow:var(--bucket-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.install-prompt-content{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between}.install-prompt-text{font-size:.9rem;color:var(--text)}.install-prompt-actions{display:flex;gap:.5rem}
