*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.todo-app{max-width:580px;margin:60px auto;background:#fff;border-radius:8px;padding:32px;box-shadow:0 2px 12px #0000001a;position:relative}h1{text-align:center;font-size:2rem;font-weight:300;color:#e44;margin-bottom:24px;letter-spacing:2px}.add-form{display:flex;gap:8px;margin-bottom:16px}.add-form input{flex:1;padding:10px 14px;font-size:16px;border:1px solid #ddd;border-radius:4px;outline:none;transition:border-color .2s}.add-form input:focus{border:2px solid #333}.add-form button{padding:10px 18px;background:#e44;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background .2s}.add-form button:hover:not(:disabled){background:#c33}.add-form button:disabled{opacity:.4;cursor:not-allowed}todo-date-picker{--vaadin-input-field-padding: 10px;--vaadin-input-field-border-width: 1px;--vaadin-input-field-border-color: #ddd;--vaadin-input-field-border-radius: 4px}.footer{display:flex;justify-content:space-between;align-items:center;padding:8px 2px;font-size:13px;color:#777}.filters{display:flex;gap:4px}.filters button{padding:3px 8px;border:1px solid transparent;border-radius:3px;background:none;cursor:pointer;color:inherit;font-size:13px;transition:border-color .15s}.filters button:hover{border-color:#ccc}.filters button.active{border-color:#e44;color:#e44}.loading{position:absolute;top:0;left:0;right:0;text-align:center;padding:6px;color:#aaa;font-style:italic;font-size:.85rem;pointer-events:none}.error-msg{padding:10px 14px;margin-bottom:12px;background:#fff0f0;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:14px}
