:root{color:#334155;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--tp-bg:#f4f7fb;--tp-surface:#fff;--tp-text:#334155;--tp-heading:#0f172a;--tp-border:#dbe4ee;background:#f4f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}body,input,button,textarea,select{font:inherit}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input{margin:0}#root{min-height:100vh}body{margin:0;font-family:Arial,sans-serif}.app{min-height:100vh}.nav{background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.nav-logo{font-size:24px;font-weight:700}.nav-right{gap:10px;display:flex}.nav-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:10px 14px}.signout-button{background:#dc2626}.auth-page{justify-content:center;align-items:center;padding:60px 20px;display:flex}.auth-card{background:#fff;border:1px solid #ddd;border-radius:10px;width:100%;max-width:420px;padding:30px}.auth-card h1{margin-top:0;margin-bottom:10px}.auth-card p{color:#555;margin-bottom:20px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form input{border:1px solid #ccc;border-radius:6px;padding:12px}.auth-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:12px}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-form button.auth-link{color:#2563eb;background:0 0;padding:6px}.google-button-slot{justify-content:center;min-height:44px;margin-top:8px;display:flex}.auth-divider{color:#999;align-items:center;gap:8px;margin:12px 0 4px;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#ddd;flex:1;height:1px}.auth-error{color:#b91c1c;margin:0;font-size:.9rem}.auth-info{color:#047857;margin:0;font-size:.9rem}.dashboard-page{max-width:1200px;margin:0 auto;padding:24px}.page-header{text-align:center;margin-bottom:24px}.page-header h1{margin:0 0 10px}.page-header p{color:#555;margin:0}.area-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.area-bar select{background:#fff;border:1px solid #ccc;border-radius:6px;min-width:220px;padding:12px}.dashboard-layout{align-items:flex-start;gap:20px;display:flex}.left-column{flex:2}.right-column{flex:1}.cards-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.event-card{background:#fff;border:1px solid #ddd;border-radius:10px;flex-direction:column;min-height:110px;padding:12px;display:flex;overflow:hidden}.event-title-link{color:#1d4ed8;text-decoration:none}.event-title-link:hover,.event-title-link:focus{text-decoration:underline}.hero{background:#fce7f3;border-radius:12px;margin-bottom:24px;overflow:hidden}.hero img{object-fit:cover;width:100%;height:auto;display:block}.event-card h2{white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:16px;overflow:hidden}.event-card p{color:#444;white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:13px;overflow:hidden}.event-card p.event-description{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.event-card button{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:6px;align-self:flex-start;margin-top:auto;padding:6px 10px;font-size:13px}.calendar-box{background:#fff;border:1px solid #ddd;border-radius:10px;padding:16px}.calendar-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-top h3{margin:0;font-size:18px}.calendar-top button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:8px 10px}.calendar-days{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-days div{text-align:center;background:#f3f4f6;border-radius:6px;padding:10px 4px;font-size:14px}.calendar-weekday{color:#555;font-weight:700}.calendar-date{justify-content:center;align-items:center;min-height:36px;display:flex}.calendar-date-blank{background:0 0}.calendar-date-button{cursor:pointer;background:#f3f4f6;border:1px solid #0000;border-radius:6px;padding:10px 4px;font-size:14px}.calendar-date-button:hover{border-color:#2563eb}.calendar-date-button.has-events{color:#1d4ed8;background:#bfdbfe;font-weight:700;position:relative}.calendar-date-button.has-events:after{content:"";background:#1d4ed8;border-radius:50%;width:5px;height:5px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.calendar-date-button.has-events.is-selected:after{background:#fff}.calendar-date-button.is-today{border-color:#16a34a}.calendar-date-button.is-selected{color:#fff;background:#2563eb}.status-message{color:#444;background:#fff;border:1px solid #ddd;border-radius:6px;margin:0 0 12px;padding:12px 14px}.filter-bar{background:#e0f2fe;border-radius:6px;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:14px;display:flex}.filter-bar button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:6px 10px}@media (width<=900px){.dashboard-layout{flex-direction:column}.cards-grid{grid-template-columns:1fr}}.card-actions{gap:8px;margin-top:10px;display:flex}.delete-button{color:#fff;background-color:#e53e3e}.delete-button:hover{background-color:#c53030}.event-notes{background:#f7f7f7;border-radius:4px;margin-top:10px;padding:8px;font-size:.9rem}.event-notes-editor{flex-direction:column;gap:6px;margin-top:10px;display:flex}.event-notes-editor textarea{resize:vertical;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px;font-size:.9rem}.note-actions{gap:8px;display:flex}button:disabled{opacity:.5;cursor:default}.app.dark .auth-card,.app.dark .event-card,.app.dark .calendar-box,.app.dark .status-message,.app.dark .filter-bar,.app.dark .area-bar select{color:#fff;background-color:#1e1e1e;border-color:#333}.app.dark .auth-card p,.app.dark .page-header p,.app.dark .event-card p,.app.dark .calendar-weekday{color:#ccc}.app.dark .calendar-days div,.app.dark .calendar-date-button{color:#fff;background:#2d2d2d}.app.dark .calendar-date-button.has-events{color:#93c5fd;background:#1e3a8a}.app.dark .calendar-date-button.has-events:after{background:#93c5fd}.app.dark .calendar-date-button.is-selected{color:#fff;background:#2563eb}.app.dark .auth-form input,.app.dark .event-notes-editor textarea{color:#fff;background:#2d2d2d;border-color:#555}.app.dark .event-notes{background:#2d2d2d}.app.dark .hero{background:#1e1e1e}.app.dark .event-title-link{color:#90caf9}
