body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.event-container{border:1px solid #ddd;margin:10px 0;padding:10px;border-radius:4px}.event-expanded{background-color:#f9f9f9}.event-header{display:flex;justify-content:space-between;align-items:center}.event-actions{display:flex;gap:10px}.btn{padding:5px 10px;border:1px solid #ccc;background:#fff;cursor:pointer;border-radius:3px}.btn:hover{background:#f0f0f0}.event-form-container{max-width:800px;margin:20px auto;padding:24px;border:1px solid #444;border-radius:12px;background-color:#2d2d2d;box-shadow:0 4px 12px #0000004d}.event-form-loading{text-align:center;padding:40px 20px;color:#ccc}.event-form-info{margin-bottom:15px;padding:8px 12px;background:#3a3a3a;border-radius:6px;border-left:3px solid #007bff}.event-form-info small{color:#aaa;font-size:12px}.event-form-row{display:flex;gap:24px;align-items:stretch}.event-form-left{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.event-form-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;align-items:center}.event-textarea{width:100%;height:100%;min-height:200px;padding:16px 16px 40px;border:2px solid #555;border-radius:8px;font-size:18px;font-family:system-ui,-apple-system,sans-serif;background-color:#1a1a1a;color:#fff;resize:vertical;outline:none;transition:border-color .2s;line-height:1.5;box-sizing:border-box}.event-textarea:focus{border-color:#007bff}.char-count{position:absolute;bottom:12px;right:16px;font-size:14px;color:#888;font-weight:500;transition:color .3s ease;pointer-events:none;z-index:1}.char-count.warning{color:#ff9500;font-weight:600}.char-count.error{color:#f33;font-weight:700;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.users-row{display:flex;flex-direction:row;gap:16px;margin-bottom:8px;flex-wrap:nowrap}.user-button{display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;cursor:pointer;padding:8px 12px;border-radius:6px;min-height:44px;min-width:44px;border:none;font-weight:500;transition:all .2s ease;position:relative;overflow:hidden;background:linear-gradient(145deg,#4a4a4a,#2a2a2a);box-shadow:6px 6px 12px #0006,-6px -6px 12px #ffffff0d}.user-button:hover{background:linear-gradient(145deg,#5a5a5a,#3a3a3a);transform:translateY(-1px)}.user-button.user-selected{background:linear-gradient(145deg,#28a745,#1e7e34);box-shadow:inset 4px 4px 8px #0000004d,inset -4px -4px 8px #ffffff1a;transform:translateY(1px);color:#fff}.user-button.user-selected:hover{background:linear-gradient(145deg,#218838,#1c7430)}.date-buttons-row{display:flex;flex-wrap:nowrap;gap:6px;margin-bottom:8px}.quick-button{padding:8px 12px;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;min-width:44px;min-height:44px;position:relative;overflow:hidden;background:linear-gradient(145deg,#4a4a4a,#2a2a2a);box-shadow:6px 6px 12px #0006,-6px -6px 12px #ffffff0d}.quick-button:hover{background:linear-gradient(145deg,#5a5a5a,#3a3a3a);transform:translateY(-1px)}.quick-button.pressed{transform:translateY(2px);background:linear-gradient(145deg,#007bff,#0056b3);box-shadow:inset 4px 4px 8px #0000004d,inset -4px -4px 8px #ffffff1a}.quick-button.highlighted{background:linear-gradient(145deg,#28a745,#1e7e34);box-shadow:inset 4px 4px 8px #0000004d,inset -4px -4px 8px #ffffff1a,0 0 12px #28a74599;transform:translateY(1px);color:#fff}.quick-button.highlighted:hover{background:linear-gradient(145deg,#218838,#1c7430)}.later-button.later-active{background:linear-gradient(145deg,#ffc107,#e0a800);box-shadow:inset 4px 4px 8px #0000004d,inset -4px -4px 8px #ffffff1a,0 0 12px #ffc10799;transform:translateY(1px);color:#000;font-weight:600}.later-button.later-active:hover{background:linear-gradient(145deg,#e0a800,#d39e00)}.quick-button:after,.user-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .3s,height .3s;pointer-events:none}.quick-button.pressed:after,.user-button:active:after{width:100px;height:100px}.date-submit-row{display:flex;gap:20px;align-items:center}.date-input{padding:12px 16px;border:2px solid #555;border-radius:6px;font-size:16px;background-color:#1a1a1a;color:#fff;width:160px;min-height:44px;box-sizing:border-box}.date-input:focus{border-color:#007bff;outline:none}.submit-button{padding:12px 16px;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;transition:all .2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#28a745,#1e7e34);box-shadow:6px 6px 12px #0006,-6px -6px 12px #ffffff0d}.submit-button:hover:not(:disabled){background:linear-gradient(145deg,#218838,#1c7430);transform:translateY(-1px)}.submit-button.submit-waiting{background:linear-gradient(145deg,#28a745,#1e7e34);box-shadow:inset 4px 4px 8px #0000004d,inset -4px -4px 8px #ffffff1a;transform:translateY(1px);cursor:not-allowed;animation:waiting-pulse 1.5s infinite}.submit-button.submit-delayed{background:linear-gradient(145deg,#ffc107,#e0a800);box-shadow:inset 4px 4px 8px #0000004d,inset -4px -4px 8px #ffffff1a,0 0 12px #ffc10799;transform:translateY(1px);color:#000;cursor:not-allowed;animation:delayed-pulse 1s infinite}.submit-button.submit-error{background:linear-gradient(145deg,#dc3545,#c82333);box-shadow:inset 4px 4px 8px #0000004d,inset -4px -4px 8px #ffffff1a,0 0 12px #dc354599;transform:translateY(1px);color:#fff;animation:error-shake .5s ease-in-out}@keyframes waiting-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes delayed-pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes error-shake{0%,to{transform:translateY(1px) translate(0)}25%{transform:translateY(1px) translate(-2px)}75%{transform:translateY(1px) translate(2px)}}@media (min-width: 601px){.event-form-row{flex-direction:row;gap:24px;align-items:stretch}.event-form-left{flex:1;min-width:0}.event-form-right{flex:1;min-width:0;max-width:300px}}@media (max-width: 600px){.event-form-row{flex-direction:column;gap:16px}.event-form-right{align-items:stretch}.users-row,.date-buttons-row,.date-submit-row{justify-content:center}}@media (max-width: 400px){.event-form-container{margin:10px;padding:16px}.event-form-row{gap:16px}.users-row,.date-buttons-row{flex-wrap:wrap;justify-content:center}.date-submit-row{gap:12px}.date-input{width:140px}}:root{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3a3a3a;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #888888;--border-color: #444444;--border-light: #555555;--accent-green: #28a745;--accent-green-hover: #218838;--accent-blue: #007bff;--shadow: rgba(0,0,0,.3)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5}.App{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary)}.app-header{padding:20px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.app-header h1{color:var(--text-primary);margin:0;font-size:24px;font-weight:600}.app-header p{color:var(--text-secondary);margin:8px 0 0;font-size:16px}.app-main{padding:20px}.btn{padding:8px 16px;border:1px solid var(--border-light);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn:hover{background-color:#4a4a4a;border-color:#666}.btn-primary{background-color:var(--accent-green);border-color:var(--accent-green)}.btn-primary:hover{background-color:var(--accent-green-hover);border-color:var(--accent-green-hover)}.input{padding:12px 16px;border:2px solid var(--border-light);border-radius:6px;font-size:16px;background-color:var(--bg-primary);color:var(--text-primary);min-height:44px;transition:border-color .2s}.input:focus{border-color:var(--accent-blue);outline:none}@media (max-width: 900px){.app-header,.app-main{padding:16px}}@media (max-width: 400px){.app-header{padding:12px}.app-header h1{font-size:20px}.app-main{padding:12px}}
