:root{--bg: #f1f7f5;--card: #ffffff;--card-rgb: 255, 255, 255;--ink: #132420;--muted: #62766d;--line: #e1ebe5;--accent: #0d9488;--accent-2: #22c55e;--accent-rgb: 13, 148, 136;--accent-soft: #d9f5ee;--violet: #7c3aed;--violet-soft: #ede9fe;--green: #15803d;--green-soft: #dcfce7;--red: #b91c1c;--red-soft: #fee2e2;--amber-soft: #fef3c7;--amber-ink: #92400e;--radius: 18px;--radius-sm: 12px;--shadow-sm: 0 1px 2px rgba(16, 40, 34, .05), 0 1px 1px rgba(16, 40, 34, .04);--shadow-md: 0 8px 24px -8px rgba(16, 40, 34, .16), 0 2px 6px rgba(16, 40, 34, .06);--shadow-lg: 0 20px 45px -12px rgba(13, 148, 136, .28), 0 4px 12px rgba(16, 40, 34, .08);--shadow-glow: 0 10px 25px -8px rgba(13, 148, 136, .5);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45;position:relative;overflow-x:hidden}body:before,body:after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(60px);opacity:.85;pointer-events:none}body:before{top:-20vh;left:-14vw;width:62vw;height:62vw;background:radial-gradient(circle,#0d9488bf,#0d948800 68%);animation:drift1 22s ease-in-out infinite alternate}body:after{bottom:-24vh;right:-16vw;width:58vw;height:58vw;background:radial-gradient(circle,#7c3aed73,#22c55e00 68%);animation:drift2 26s ease-in-out infinite alternate}@keyframes drift1{0%{transform:translate(0) scale(1)}to{transform:translate(6vw,8vh) scale(1.12)}}@keyframes drift2{0%{transform:translate(0) scale(1)}to{transform:translate(-5vw,-6vh) scale(1.08)}}@media (prefers-reduced-motion: reduce){body:before,body:after{animation:none}}#root{display:flex;flex-direction:column;min-height:100vh}.app{width:100%;max-width:640px;margin:0 auto;padding:0 14px 100px;flex:1}.app-header{padding:22px 4px 16px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{flex:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:22px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:var(--shadow-glow)}.app-header h1{margin:0;font-family:Outfit,Inter,sans-serif;font-size:23px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.app-header .subtitle{color:var(--muted);font-size:12.5px;font-weight:500}.tabbar{position:fixed;bottom:14px;left:0;right:0;margin:0 auto;width:fit-content;max-width:calc(100% - 24px);background:rgba(var(--card-rgb),.78);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.6);border-radius:999px;display:flex;justify-content:center;gap:2px;padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);z-index:10}.tabbar button{flex:1;min-width:64px;border:none;background:none;color:var(--muted);font:inherit;font-size:11.5px;font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:color .2s ease,background .25s ease,transform .15s ease}.tabbar button .icon{font-size:17px;line-height:1}.tabbar button.active{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 6px 16px -4px #0d94888c;transform:translateY(-1px)}.tabbar button:hover:not(.active){color:var(--accent)}.card{background:rgba(var(--card-rgb),.82);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-md);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#0d948859}.section-title{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 6px 10px;display:flex;align-items:center;gap:7px}.section-title:before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));flex:none}.event-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.event-title{font-family:Outfit,sans-serif;font-weight:700;font-size:17px}.event-date{color:var(--muted);font-size:13px;white-space:nowrap}.meta-lines{margin-top:6px;display:flex;flex-direction:column;gap:2px}.row{display:flex;align-items:center;gap:10px;padding:12px 4px;margin:0 -4px;border-top:1px solid var(--line);flex-wrap:wrap;border-radius:10px;transition:background .15s ease}.row:first-child{border-top:none}.row .grow{flex:1;min-width:0}.row .name{font-weight:600}.row .meta{color:var(--muted);font-size:12px}.row .meta.overdue{color:var(--red);font-weight:600}.clickable-row{cursor:pointer}.clickable-row:hover{background:#0d94880f}.clickable-row:hover .name{color:var(--accent)}.chev{color:var(--muted);font-size:20px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;letter-spacing:.01em}.badge.yes{background:var(--green-soft);color:var(--green)}.badge.no{background:var(--red-soft);color:var(--red)}.badge.score{background:var(--violet-soft);color:var(--violet)}.badge.priority-high{background:var(--red-soft);color:var(--red)}.badge.priority-medium{background:var(--amber-soft);color:var(--amber-ink)}.badge.priority-low{background:var(--accent-soft);color:var(--accent)}button.btn{font:inherit;font-weight:600;border:1px solid var(--line);background:rgba(var(--card-rgb),.9);color:var(--ink);border-radius:10px;padding:8px 15px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}button.btn:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}button.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:#fff;box-shadow:0 8px 18px -6px #0d94888c}button.btn.primary:hover{box-shadow:0 10px 22px -6px #0d9488a6}button.btn.danger{color:var(--red)}button.btn.danger:hover{border-color:var(--red)}button.btn.small{padding:5px 12px;font-size:13px}button.btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}.icon-btn{border:none;background:none;cursor:pointer;color:var(--muted);font-size:15px;padding:4px;transition:color .15s ease,transform .15s ease}.icon-btn:hover{color:var(--red);transform:scale(1.1)}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:rgba(var(--card-rgb),.7)}.segmented button{font:inherit;font-size:12px;font-weight:600;border:none;background:none;color:var(--muted);padding:6px 12px;cursor:pointer;border-left:1px solid var(--line);transition:background .15s ease,color .15s ease}.segmented button:first-child{border-left:none}.segmented button.on.none{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.field{margin-bottom:13px}.field label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:5px}.field input[type=text],.field input[type=date],.field input[type=number],.field select,.field textarea{width:100%;font:inherit;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(var(--card-rgb),.9);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0d948826}.field textarea{min-height:80px;resize:vertical}.field .hint{font-size:11px;color:var(--muted);margin-top:3px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.toolbar{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.form-actions{display:flex;gap:8px;margin-top:16px}.form-actions .spacer{flex:1}.back-link{border:none;background:none;cursor:pointer;color:var(--accent);font:inherit;font-weight:700;padding:12px 4px 4px;display:inline-block}.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}.notice{background:linear-gradient(135deg,var(--amber-soft),#fff7e0);border:1px solid #fde68a;border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:var(--amber-ink);margin:12px 0;box-shadow:var(--shadow-sm)}@media (max-width: 480px){.field-grid{grid-template-columns:1fr}}
